0

0

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO

雪夜

雪夜

发布时间:2025-07-22 12:20:02

|

290人浏览过

|

来源于php中文网

原创

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO

注:详细使用可参考《【北京迅为】itop-3588开发板驱动开发指南》

GPIO基本概念

GPIO,即通用输入输出引脚,是由软件控制的接口。每个GPIO引脚可以配置为输入或输出,用于读取外部设备状态(如按键)或控制外设(如LED、马达等)。

GPIO应用领域

作为嵌入式系统中不可或缺的接口,GPIO在以下领域广泛应用:

● 智能家居:用于控制和监测家电、灯光、窗帘、传感器等,通过GPIO引脚读取传感器状态或发送控制信号。

● 工业自动化:GPIO用于连接和控制工业机器、机器人、传感器等,通过简单的开关控制实现自动化流程。

● 物联网(IoT):GPIO在物联网设备中广泛应用,与传感器、执行器(如继电器)等设备通信,实现数据采集和设备控制。

● 汽车电子:在车载系统中,GPIO用于连接各种车载传感器和执行器,提供控制信号,如车灯、门锁、报警器等的控制。

机器人技术:GPIO用于控制机器人中的电机、传感器和其他外部设备,实现精准的硬件控制和反馈处理。

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO在RK3588处理器上使用GPIO接口

在RK3588平台上,GPIO的使用非常灵活,可以通过内核提供的sysfs接口进行控制,也可以通过debugfs进行调试。下面我们将介绍如何通过这两种方式操作GPIO。

01

01 选择GPIO

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO可以看到5号管脚的网络标号为UART9_RX_M0_BT,然后打开pin脚复用手册,根据这个网络标号进行搜索,查找到的复用内容如下所示:

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO可以看到GPIO引脚编号为GPIO2_C4,我们将LED的正极连接到这个GPIO,负极连接到GND。

02

02 通过sysfs接口控制GPIO

GPIO软件编程方式多样,可以编写驱动程序调用GPIO函数操作GPIO,也可以通过操作寄存器的方式操作GPIO,还可以通过sysfs方式实现对GPIO的控制。

sysfs接口是Linux内核提供的一种标准方式,允许用户在用户空间操作GPIO。通过简单的命令行操作,就可以控制GPIO引脚,点亮或熄灭LED。这里我们使用较为简单的用户空间控制GPIO的方法,通过配置GPIO为输出模式,向其写入高电平(1)或低电平(0)来控制LED的开关。

▸计算引脚号

引脚编号=控制寄存器的寄存器基数+控制引脚寄存器位数。

GPIO2_PC4 pin脚计算方法:

bank = 2; //GPIO2_C4=> 2, bank ∈ [0,4]group = 2; //GPIO2_C4 => 2, group ∈ {(A=0), (B=1), (C=2), (D=3)}X = 4; //GPIO2_C4=>4, X ∈ [0,7]number = group 8 + X = 2 8 + 4 =20;pin = bank32 + number= 2 32 + 20 = 84;

▸ 导出GPIO引脚

echo 84 > /sys/class/gpio/export

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO▸ 配置GPIO为输出模式

接下来,设置该GPIO引脚为输出模式:

echo "out" > /sys/class/gpio/gpio84/direction

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO▸ 控制LED开关

通过向GPIO的value文件写入1或0来控制LED的状态:

打开LED:

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

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO关闭LED:

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

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO▸ 释放GPIO引脚

使用完毕后,可以将GPIO从用户空间移除:

echo 84 > /sys/class/gpio/unexport

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO03

03 GPIO调试

在更高级的调试场景中,debugfs文件系统提供了对GPIO引脚状态和复用情况的深入查看和调试能力。可以通过以下步骤获取GPIO的详细信息:

▸ 查看GPIO的输入/输出模式、上拉/下拉设置等电气属性

cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinconf-pins | grep 84

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO▸ 查看每个引脚的功能模式、引脚复用选择以及其他相关的配置信息

cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins | grep 84

迅为RK3588开发板 | 在高性能处理器上如何使用GPIO通过这个文件,你可以确认每个引脚的当前复用配置,例如某个引脚可能被复用为UART、SPI等设备的控制引脚。如果想要重新配置为GPIO引脚,可以通过设备树进行调整。

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1024

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

66

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

447

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.19

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

465

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

13

2025.12.06

物联网有哪些应用
物联网有哪些应用

物联网应用有智能家居、智慧城市、工业自动化、农业智能化、物流和供应链管理、医疗健康、智能交通、能源管理、环境监测、智能零售等等。详细介绍:1、智能家居,物联网技术可以将家庭中的各种设备和家居系统连接到互联网,实现智能化的家居控制和管理,例如,通过智能手机可以远程控制家中的照明、温度、安防系统等;2、智慧城市,物联网技术可以应用于城市基础设施和公共服务,实现智慧城市的建设等等。

231

2023.09.05

物联网中的m2m概念
物联网中的m2m概念

M2M是人与机器连接的手段与方式。想了解更多的相关内容,可以阅读本专题下面的文章。

415

2024.03.12

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

0

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号