在内核设备驱动程序(内核版本3.10.92)中启用 GPIO 设备支持后,我想通过 GPIO sysfs 读取 GPIO 扩展器的输入引脚的值。导出并将方向设置为“in”后,在读取时,即使在事件发生之后,该值也始终为0,这会将引脚值更改为1。虽然输出方向工作正常,即我可以通过将值更改为0或1来点亮 LED 。
我在 GPIO sysfs 中的 GPIO 扩展器的基地址是 184。因此,要根据 GPIO sysfs 读取引脚号 22 即引脚号 206,我在内核中给出的命令是
echo 206 >/sys/class/gpio/export
echo "in" >/sys/class/gpio/gpio206/direction cat/sys/class/gpio/gpio206/value (
总是给值0)
我正在使用连接到MPC8308微处理器并通过 mpc I2C总线控制的PCA9505 GPIO 扩展器(40 个 I/O 引脚)。