我正在写一个驱动程序来控制GPIO引脚。我已经识别了JP4连接器并在gpio91上添加了一个LED(JP4.06
=>/sys/class/gpio/gpio91
)。在阅读了许多教程之后,我编写了一个简单的内核模块。此模块接收来自用户空间的输入,并根据输入设置gpio likegpio_set_value(91,true)
。在调用gpio_set_value
之前,我要再调用一个函数,即gpio_direction_output
。因此led发光。另一方面,当我从用户空间获得另一个命令以获取PIN的状态时(为此,我依赖于gpio_get_value(91)
并且为此还将方向设置为输入),这里我没有得到正确的值。
我是否遗漏了获得期望值的步骤?我该怎么做呢?
最佳答案
从https://github.com/wandboard-org/linux/blob/wandboard_imx_3.10.17_1.0.0_ga/arch/arm/boot/dts/imx6qdl-wandboard.dtsi#L390
EIM_D27被正确地编为gpio,其padconf是0x1B880,这意味着:
慢速回转率
驱动强度HIZ
速度:100兆赫
输出为开漏
启用拉/保持器
已启用拉取
100K欧姆上拉
施密特触发器输入
如果您一直在读1,也许您可以尝试使用0x18880来移除上拉
关于c - 读取imx6 wandboard quad上的GPIO,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32717733/