我试图通过在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则执行其他操作......