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

RK3588 Linux系统GPIO口测试方法及自动化测试脚本

1、GPIO编号计算... 2

2、测试举例... 2

2.1 gpio_request申请导出相应的gpio. 2

2.2 gpio_direction_output 设置相应gpio为输出方向... 3

2.3 gpio_set_value 设置输出电平... 3

设置输出为高电平... 3

设置输出为低电平... 3

2.4 gpio_get_value 获取gpio当前状态值... 3

2.5 gpio_free 释放申请的gpio. 3

3测试脚本(模拟跑马灯)... 3

1、GPIO编号计算

GPIO pin脚计算公式:pin = bank * 32 + number

GPIO 小组编号计算公式:number = group * 8 + X

例如: gpio4 A0 gpio编号4*32+0*8 +0=128

GPIO(A-0,B-1,C-2...)

gpio4 A0 gpio编号4*32+0*8 +0=128

gpio4 A1 gpio编号4*32+0*8 +1= 129

gpio4 A2 gpio编号4*32+0*8 +2=130

gpio4 C1 gpio编号4*32+2*8 +1=145

在特定的GPIO目录下,会有两个文件:direction和value。如您所料,从它们中读取将返回当前状态(方向/值)。向它们写入将设置当前状态。

可能的指示命令:

high

设置GPIO为一个起始值为1的输出

low

设置GPIO为起始值为0的输出

out

Same as low

in

将GPIQ设置为一个输入

value字段只是使用数值,所以是0或1。

2、测试举例

gpio4 A0 测试步骤如下:

2.1 gpio_request申请导出相应的gpio

echo 128 > /sys/class/gpio/export

2.2 gpio_direction_output设置相应gpio为输出方向

echo out > /sys/class/gpio/gpio128/direction

2.3 gpio_set_value设置输出电平

设置输出为高电平

echo 1 > /sys/class/gpio/gpio128/value

设置输出为低电平

echo 0 > /sys/class/gpio/gpio128/value

设置后可根据设置电平使用万用表测量对应管脚电压值

2.4 gpio_get_value获取gpio当前状态值

cat /sys/class/gpio/gpio128/value

2.5 gpio_free释放申请的gpio

echo 128 > /sys/class/gpio/unexport

3测试脚本(模拟跑马灯)

echo 145 > /sys/class/gpio/export

echo 120 > /sys/class/gpio/export

echo 121 > /sys/class/gpio/export

echo 155 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio145/direction

echo out > /sys/class/gpio/gpio120/direction

echo in > /sys/class/gpio/gpio121/direction

echo in > /sys/class/gpio/gpio155/direction

cat /sys/class/gpio/gpio121/value

cat /sys/class/gpio/gpio155/value

echo 1 > /sys/class/gpio/gpio145/value

echo 1 > /sys/class/gpio/gpio120/value

cat /sys/class/gpio/gpio121/value

cat /sys/class/gpio/gpio155/value

echo 0 > /sys/class/gpio/gpio145/value

echo 0 > /sys/class/gpio/gpio120/value

cat /sys/class/gpio/gpio121/value

cat /sys/class/gpio/gpio155/value

echo out > /sys/class/gpio/gpio121/direction

echo out > /sys/class/gpio/gpio155/direction

echo in > /sys/class/gpio/gpio145/direction

echo in > /sys/class/gpio/gpio120/direction

cat /sys/class/gpio/gpio145/value

cat /sys/class/gpio/gpio120/value

echo 1 > /sys/class/gpio/gpio121/value

echo 1 > /sys/class/gpio/gpio155/value

cat /sys/class/gpio/gpio145/value

cat /sys/class/gpio/gpio120/value

echo 0 > /sys/class/gpio/gpio121/value

echo 0 > /sys/class/gpio/gpio155/value

cat /sys/class/gpio/gpio145/value

cat /sys/class/gpio/gpio120/value

http://www.jsqmd.com/news/497952/

相关文章:

  • 好写作AI:博士论文跨学科内容的AI知识补全方法——让陌生领域不再成为研究壁垒
  • spring-cloud-starter-openfeign现实中的运行逻辑
  • DeepAudit+cpolar效率翻倍让代码审计随时随地高效完成
  • 一级圆柱齿轮减速器——CAD
  • CEO必会之方案设计
  • 基于深度强化学习的虚拟重联列车LQR自适应控制:理论、实现与代码详解
  • Cuckoo沙箱各Ubuntu版本安装及使用_cuckoo sandbox 安装
  • Claude Code 最佳实践:可验证、可治理、可分层的工程现实
  • 计算机毕业设计Django+大模型中华古诗词知识图谱可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析模型 自然语言处理NLP 机器学习 深度学习
  • 多目标蜣螂优化算法NSDBO在微电网多目标优化调度中的应用:Matlab语言解决方案
  • 自动驾驶智能大脑分工合作:德州农工大学让AI既能思考又能开车
  • 2059:【例3.11】买笔
  • python-flask校园二手书交易系统_django pycharm vue
  • 解决 ggplot Scale for ‘fill‘ is already present. Adding another scale for ‘fill‘, which will replace
  • 大数据领域Spark的资源管理与调度
  • 软件加密狗中时间限制机制的破解
  • 【避坑封神】Ubuntu24.04 适配 CUDA12.9 装 CUDNN 9.x:从 apt 报错到 Test passed! 全程拆解
  • Score Distillation Sampling(SDS)
  • 二十、Kubernetes基础-13-kubeadm-ha-kubernetes-deployment-guide-03-haproxy-keepalived
  • Visualbasic6.0引用问题
  • Nest.js 入门:从 0 到 1 掌握企业级 Node.js 框架(新手也能秒懂模块/控制器/服务)
  • AI之Transform encoder/decoder抽象理解
  • 2026年多账号运营下浏览器指纹关联风险与防护方案研究
  • 【C语言学习笔记】(1)
  • 2026前端面试题和避坑指南
  • 风速仿真模型实现及代码详解
  • 吃透HTTP及相关协议核心区别,从基础到进阶全覆盖
  • 【AI】如何设计Agent的记忆系统?
  • 探索同城招聘系统源码:企业端+求职者端功能开发全流程详解
  • 阿里发布全球首个企业级Agent平台“悟空”,要把“龙虾”装进2000万企业组织里