0

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

DataRead = XGpio_DiscreteRead(&GpioDevice, 2);

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

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

或者

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

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

如果位 1 = 1 然后做某事

如果位 2 = 0 然后做一些事情等等......

4

0 回答 0