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

时间:2015-11-25 20:55:58

标签: c microblaze

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

DataRead = XGpio_DiscreteRead(& GpioDevice,2);

其中" GpioDevice"是实例名称和' 2'是频道号码。该行读取16个开关,并将开关的十六进制值分配给u32变量' DataRead'。

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

OR

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

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

如果位1 = 1则执行某些操作

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

0 个答案:

没有答案