TI中文支持网
TI专业的中文技术问题搜集分享网站

AM3352: GPIO可以操作输出高低,设为 in 无法读取状态变化

Part Number:AM3352

操作步骤:

           echo 111  >  /sys/class/gpio/export

           echo 110  >  /sys/class/gpio/export

           echo in >  /sys/class/gpio/gpio111/direction  //此时用 cat direction 显示为 in

           echo out  > /sys/class/gpio/gpio110/direction //此时用 cat direction 显示为 out

           cd /sys/class/gpio/gpio110

           echo 1 > value   //此时万用表测量已经输出3.3V

           cd /sys/class/gpio/gpio111

           cat value //显示结果为0,此时已经短接 gpio111/gpio110 ,万用表测出为 3.3V,有试过执行 echo rising > edge 上拉,依旧每变化

           把两个 gpio 输入输出方向设置操作结果依旧无法读取 gpio 输入的变化。

开机关于gpio的log如下:

BobLu:

意思是两个gpio交换输入输出方向后,输出还是正常,但输入读不到? 如果是的话,那说明你的gpio号和物理芯片引脚是对应上的

1. 可能是设备树配置问题?在这种情况下需要配置为PIN_INPUT

2. 有换个硬件试一下嘛?

,

Chauncy ruan:

非常感谢你的回答,是的,gpio号和物理是引脚的对应得上的,我这边在设备树里没有配置过GPIO的direction属性,它不应该是默认输入/输出模式的吗?

,

BobLu:

你可以试一下设置引脚为输出状态时,再读取同一个引脚的输入,看在输出1、0时,本引脚的状态是否自己能读对,此时最好把两个io口之间断开。

,

Chauncy ruan:

这个是有试过的,在输出时,cat value 读取到的状态是能够正确读取,只有在设为输入时,value 就会一直是0

,

Shine:

建议先检查一下设备树设置。看一下下面的帖子是否能提供点思路。https://e2e.ti.com/support/processors-group/processors/f/processors-forum/707088/linux-am3352-unable-to-read-gpio-input

赞(0)
未经允许不得转载:TI中文支持网 » AM3352: GPIO可以操作输出高低,设为 in 无法读取状态变化
分享到: 更多 (0)