当前位置: 首页 > news >正文

使用gpio 的/sys 属性来模拟调试信号的操作

现实中,程序很可能来不及写,或者根本不想写,想通过操作设备节点的方式来简单的配置信号做一些实验,看看信号的变化效果,可以选择/sys  设备树中gpio 属性来简单的操作

比如,需要将红框内的gpio 信号拉高,通过dts文件可以知道该pin是gpio0 这个控制模块内,pin 的编号是RK_PA5, 激活状态是高。

源码中检索到该pin 编号是5,也就是gpio0 的pin5

然后

一、先明确gpiochip0管理的 GPIO 范围

# 查看控制器起始GPIO编号(base)
cat /sys/devices/platform/pinctrl/gpio/gpiochip0/base  
# 示例输出:0(表示该控制器从GPIO0开始)# 查看控制器管理的引脚数量(ngpio)
cat /sys/devices/platform/pinctrl/gpio/gpiochip0/ngpio  
# 示例输出:32(表示管理GPIO0~GPIO31,共32个引脚)

二、操作步骤:以具体引脚(如 GPIO5)为例

1. 导出(export)GPIO 引脚

要操作某个 GPIO,需先将其从控制器 “导出”(创建操作节点)

# 导出GPIO5(编号为5,需在gpiochip0的管理范围内)
echo 5 > /sys/class/gpio/export  # 导出成功后,会生成对应的操作节点:/sys/class/gpio/gpio5
# (该节点也可能链接到 /sys/devices/platform/pinctrl/gpio/gpiochip0/gpio5)
2. 配置 GPIO 方向(输入 / 输出)

通过 direction 文件设置引脚为输入(in)或输出(out

# 设置为输出模式
echo "out" > /sys/class/gpio/gpio5/direction  # 或设置为输入模式
echo "in" > /sys/class/gpio/gpio5/direction  
3. 读写 GPIO 电平(输出 / 输入)
  • 若为输出模式:通过 value 文件设置电平(0 = 低电平,1 = 高电平)

  • # 输出高电平
    echo 1 > /sys/class/gpio/gpio5/value  # 输出低电平
    echo 0 > /sys/class/gpio/gpio5/value  
  • 若为输入模式:通过 value 文件读取当前电平(0 = 低,1 = 高):

  • cat /sys/class/gpio/gpio5/value  
5. 取消导出(unexport)

不再使用时,可取消导出以释放资源:

echo 5 > /sys/class/gpio/unexport  

以上汇总的简单操作示例如下:

三、关键文件说明

gpiochip0 控制器目录下的核心文件:

  • base:控制器起始 GPIO 编号(如 0);
  • ngpio:控制器管理的引脚总数(如 32);
  • label:控制器标签(如 “px30-gpio0”,标识硬件来源)。

导出后的 GPIO 节点(如gpio5)下的核心文件:

  • direction:配置方向(in/out);
  • value:读写电平(0/1);
  • active_low:设置极性(0 = 不反相,1 = 反相);
  • edge:配置中断触发方式(如rising/falling/both,仅输入模式有效)。

四、注意事项

  1. 权限问题:操作 GPIO 需要 root 权限(用sudo或切换至 root 用户);
  2. 引脚复用冲突:需确保该 GPIO 未被其他功能(如 PWM、I2C)占用(需提前在设备树中配置为 GPIO 功能);
  3. 路径差异:部分系统中,/sys/class/gpio 是 /sys/devices/platform/pinctrl/gpio/ 的符号链接,操作两者效果一致;
  4. 中断配置:若需用 GPIO 触发中断,可通过 edge 文件设置触发边沿(如上升沿、下降沿),再结合poll机制监听value变化。

http://www.dtcms.com/a/594364.html

相关文章:

  • 专业网站建设公司兴田德润怎么样沈阳网站建设小工作室
  • 秦皇岛建设网站官网农产品跨境电商平台有哪些
  • 回溯专题之二叉树
  • 网站建设工具的种类aspnet网站开发实例项目
  • 怎样制造网站图片教程公司网站建设费用 知乎
  • Python 3.6.1 报错 “module ‘enum‘ has no attribute ‘IntFlag‘” 的真正原因与解决办法
  • 建设网站的重要意义wordpress 去除归档链接
  • 官方网站welcome在家办厂小型加工项目
  • 啥前端框架可以做网站首页企业网站建设招标书
  • 有域名一定要买空间做网站河北沙河市规划局或建设局网站
  • git diff 输出空,但 git status 提示 Motified(M)解决办法
  • 超市设计保定官网seo分析
  • 曼朗策划响应式网站建设网站建设 图书
  • 网站建设模板后台网站建设款分录
  • 【第1章>第5节】图像“膨胀”处理的理论分析与MATLAB仿真测试
  • 企业免费网站模板能从源代码黑进网站修改数据吗
  • iis的网站默认端口昌平建设网站
  • 电流互感器准确级的选择和二次负荷校验
  • bat批处理脚本语法记录
  • 检测站营销方案怎样学做企业网站
  • 百日挑战——单词篇(第十八天)
  • 网站建设好如何开通网站开发与客户交流
  • 广州网站搭建多少钱体验营销案例分析
  • 网站建设公司行业描述填什么龙岩seo
  • Clickhouse数据副本和分片
  • 最长回文子序列
  • 数据库知识整理——关系数据库SQL简介
  • 自己做的网站怎样赚钱东兴网站建设
  • 山东网站营销推广费用百度域名解析
  • 2026助力发刊:人工智能电磁超材料专题学习