am335x嵌入式开发-GPIO操作

限于喜欢 提交于 2020-01-18 03:41:48

原创v4bot 最后发布于2016-02-20 14:11:57。

GPIO编号:

GPIO的所有操作都是基于编号的,可以说编号是一个GPIO的ID,TI AM335x系列处理器GPIO的编号规则如下:

pin_num=bank_num∗32+pin_bank_numpin_num=bank_num∗32+pin_bank_num 
pin_num=GPIO编号pin_num=GPIO编号 
bank_num=GPIO块编号bank_num=GPIO块编号 
pin_bank_num=GPIO在GPIO块中的子编号pin_bank_num=GPIO在GPIO块中的子编号

AM335x系列SOC有4个bank,每个bank有32个GPIO,一共支持 32∗4=12832∗4=128 个GPIO,GPIO的bank表示方法为: bank0[0:31] bank1[0:31] bank2[0:31] bank3[0:31]。例如芯片上有一个pin为gpio2_3, 
则这个pin的GPIO编号为:number=2∗32+3=67

将GPIO映射到sysfs文件系统:
# echo 67 > /sys/class/gpio/export
设置GPIO模式(设置为IO口模式):
# echo "7" > /sys/class/gpio/gpio67/mode
设置GPIO方向(输入或输出):
# echo "out" > /sys/class/gpio/gpio67/direction
or

# echo "in" > /sys/class/gpio/gpio67/direction

操作GPIO

设置GPIO电平
# echo 0 > /sys/class/gpio/gpio67/value // set gpio value to low


# echo 1 > /sys/class/gpio/gpio67/value // set gpio value to high

读GPIO当前电平

# cat /sys/class/gpio/gpio67/value // read gpio value
# 1

解除GPIO映射
# echo 67 /sys/class/gpio/unexport
————————————————
版权声明:本文为CSDN博主「v4bot」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/juebanrui1988/article/details/50704570

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!