C 如何读取GPIO输入的一部分或将GPIO输入分配给位向量?

C 如何读取GPIO输入的一部分或将GPIO输入分配给位向量?,c,microblaze,C,Microblaze,我试图通过在Basys3 FPGA板上实现的微LAZE从GPIO读取输入。我的GPIO输入来自Basys3板中的16个dip开关。目前,我正在使用以下代码行读取变量的GPIO输入 数据读取=XGpio_离散(&GpioDevice,2) 其中“GpioDevice”是实例名称,“2”是通道号。此行读取16个开关,并将开关的十六进制值分配给u32变量“DataRead” 是否有办法只读取GPIO输入的一部分(例如:如果我的开关设置为1111 0000 1010 1100,是否有办法只读取其中的4位

我试图通过在Basys3 FPGA板上实现的微LAZE从GPIO读取输入。我的GPIO输入来自Basys3板中的16个dip开关。目前,我正在使用以下代码行读取变量的GPIO输入

数据读取=XGpio_离散(&GpioDevice,2)

其中“GpioDevice”是实例名称,“2”是通道号。此行读取16个开关,并将开关的十六进制值分配给u32变量“DataRead”

是否有办法只读取GPIO输入的一部分(例如:如果我的开关设置为1111 0000 1010 1100,是否有办法只读取其中的4位)

有没有办法读取所有16位并将值分配给位向量而不是u32

我的目标是使用GPIO输入的各个位来执行某种任务

如果位1=1,则采取措施


如果位2=0,则执行其他操作。

您已经读取了所需位。什么意思?掩蔽?读一读关于位运算符的书。我现在觉得自己很愚蠢。这正是我想要的。谢谢你,奥拉夫。