简述:
在本篇博客中,将详细介绍如何在全志平台A40I上操作GPIO,特别是如何设置GPIO为输入并获取其值。将通过debugfs进行操作,包括挂载路径、查看节点、指定引脚以及修改参数等步骤。
我当时是为了在全志平台读人体感应模块 , 然后学了下调试 灰常简单啊 看规格书把PB4改成输入 , 然后捏着人体模块就拉低了。主要是全志这平台搞非主流 用sysfs不好吗? (似乎有但我懒得研究全志平台....
1. 挂载debugfs并进入相关路径
首先,我们需要挂载debugfs并进入相关路径。执行以下命令:
mount -t debugfs debug /proc/sys/debug cd /proc/sys/debug/sunxi_pinctrl
2. 查看当前路径下的文件
在这个路径下,我们可以看到一些文件,这些文件代表了GPIO的不同属性。执行ls -l命令,你将看到如下文件:
-rw-rw-r-- 1 root root 0 Jan 1 1970 data -rw-rw-r-- 1 root root 0 Jan 1 1970 dlevel -rw-rw-r-- 1 root root 0 Jan 1 1970 function -rw-rw-r-- 1 root root 0 Jan 1 1970 platform -rw-rw-r-- 1 root root 0 Jan 1 1970 pull -rw-rw-r-- 1 root root 0 Jan 1 1970 sunxi_pin -rw-rw-r-- 1 root root 0 Jan 1 1970 sunxi_pin_configure
这些文件的功能如下:
data:引脚当前的电平状态dlevel:引脚的驱动等级function:引脚的功能配置platform:当前平台pull:上下拉功能配置sunxi_pin:指定引脚sunxi_pin_configure:引脚所有的配置信息
3. 指定引脚
要修改某个引脚时,我们需要先指定这个引脚。例如,如果我们要修改PB4,我们需要执行以下命令:
echo PB4 > sunxi_pin
注意:此时操作的就是PB4,每次只能单独操作某一个IO口。引脚的选定具有时效性,过一会当前选定引脚就会变为非选定状态。但是已经设置的引脚状态不会被改变。如果需要重新操作该引脚,就需要重新选定。
4. 修改引脚参数
如果要修改PB4对应的参数,我们需要将参数写入到对应的文件中。以下是一些操作示例:
# 标识选定PB4引脚 echo PB4 > sunxi_pin # 查询当前选定引脚 cat sunxi_pin # 配置引脚输出高电平 echo PB4 1 > data # 配置引脚输出低电平 echo PB4 0 > data # 查询当前引脚电平状态 cat data # 表示拉高(指内部上拉) echo PB4 1 > pull # 查询当前上下拉状态 cat pull # 表示输出驱动能力改为2 echo PB4 2 > dlevel # 查询输出驱动能力 cat dlevel # 配置引脚功能为输入 echo PB4 0 > function # 配置引脚功能为输出 echo PB4 1 > function # 查询选定引脚功能值 cat function # 查询当前芯片平台 cat platform # 查询当前选定引脚所有配置信息 cat sunxi_pin_configure
以上就是在全志平台A40I上控制GPIO的基本步骤。希望这篇博客对你有所帮助,如果有任何问题,欢迎在评论区留言。