This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A3:无法获取 GPIO 值

Guru**** 2481465 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1457026/am62a3-can-not-get-gpio-value

器件型号:AM62A3

工具与软件:

尊敬的 TI:

我无法获取 GPIO 值、下面是详细信息:

1.通过 GPIO sysfs 获取(已在 DTS 中添加 GPIO 配置)

echo 547 >/sys/class/gpio/export
echo out >/sys/class/gpio/gpio547/direction
echo 1 >/sys/class/gpio/gpio547/value

GPIO 状态通过 万用表检查为高电平、通过"echo 0 >/sys/class/gpio/gpio547/value 命令变为低电平

但是、使用"cat  /sys/class/gpio/gpio547/value "、它始终返回0

2.通过 gpioget 获取

gpioset -c /dev/gpiochip1 11=1 -需要按 Ctrl+c 手动停止

GPIO 状态通过 万用表检查为高电平 、通过"gpioset -c /dev/gpiochip1 11=0变为低电平。

但是、使用"gpioget -c /dev/gpiochip1 --数值11"、它返回"0"、并且   通过 万用表检查 GPIO 状态变为低电平

我认为"gpioget"会将 GPIO 设置为输入方向。

'gpioset -c /dev/gpiochip1 11=1'-由"gpioinfo"检查 GPIO 已成为输出

'gpioget -c /dev/gpiochip1 --digital 11'-由'gpioinfo'检查 GPIO 是否已输入

那么、哪种方法是获取 GPIO 值的正确方法呢? 你能给我一些建议吗?

谢谢。

TAO

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     我使用 GPIO_SET_VALUE/GPIO_GET_VALUE 在驱动程序代码中测试相关 GPIO。

    GPIO_SET_VALUE 1/0正常、但  GPIO_GET_VALUE 始终为0。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tao、

    你可以尝试"gpioset --unquoted -c 1 11=X"吗?

    此致、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Anshu:

    我尝试过,它是相同的'2.get by gpioget'

    还有其他解决方案吗?

    此致、

    TAO

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Anshu:

    我更改了 GPIO 配置  PIN_OUTPUT ->  PIN_INPUT

     AM62AX_IOPAD (0x02c、PIN_INPUT、7)

    并执行"1.get by gpio sysfs"、可以读取到正确的值。

    因此、需要在 DTS 中将 GPIO 配置为输入。

    我不知道为什么。

    此致、

    TAO

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tao、  

    PIN_INPUT 启用输入和输出缓冲器、这意味着焊盘本身能够接收和发送。 PIN_OUTPUT 只启用输出缓冲器、所以它只能发送。

    此致、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Anshu:

    明白了。

    感谢您的 澄清。