我正在编写一个驱动程序来控制 GPIO 引脚。我已经识别出 JP4 连接器并在 gpio91 上添加了一个 LED(JP4.06
=> /sys/class/gpio/gpio91
)。在阅读了许多教程之后,我编写了一个简单的内核模块。该模块接收来自用户空间的输入,并根据输入设置 gpio,如 gpio_set_value(91,true)
。在调用 gpio_set_value
之前,我调用了另一个函数,即 gpio_direction_output
。因此,led 会发光。另一方面,当我从用户空间获取其他命令以获取 PIN 状态时(为此我依赖于 gpio_get_value(91)
并且为此也设置输入方向),我在这里不是获得适当的值(value)。
我是否遗漏了获得所需值(value)的任何步骤?我应该如何尝试这样做?
最佳答案
EIM_D27 被正确地复用为一个 gpio,它的 padconf 是 0x1B880,这意味着:
- 缓慢的转换率
- 驱动强度 HIZ
- 速度:100 兆赫
- 输出为漏极开路
- 启用拉取/Keeper
- 启用拉动
- 100K 欧姆上拉
- 施密特触发器输入
如果你总是读取1,也许你可以尝试使用0x18880来移除上拉
关于c - 在 imx6 wandboard quad 上读取 GPIO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32717733/