RK平台计算GPIO对应的整型数

简介: RK平台计算GPIO对应的整型数

GPIO是比较常用的资源,比如说控制LED灯亮灭,控制LCD上电,控制模块的复位电路,做外设的中断脚等等,这些都有对GPIO的操作和使用,所以说,GPIO开发是驱动开发中必不可少的操作,而且也是最基础的东西。


我们在驱动开发过程中,有时候我们不能确定自己使用和申请的gpio是否对了,我们可以把它对应的数值给打印出来,通过对比对应的数值可以确定我们具体使用的是哪个数值;下面依旧是拿rk平台来举例:



这里使用的是 GPIO7_C5 来举例。首先,需要计算出代表 GPIO7_C5 的值,算法如下:

GPIO7_C5 = 7x32 + (C-A)x8 + 5 = 7x32+2x8+5 = 245;


(注:最前面和 32 相乘的数字因为是 gpio7,所以是 732。如果是 gpio3,那就是 332;

括号里面的 A、B、C、D 分别代表数值 0、1、2、3,在计算时候分别对应去减即可。

这里因为是 C5,所以用 C-A,如果是 B3,就是 B-A;最后的+5 是因为是 GPIO7_C5,

如果是 GPIO7_C4,那么最后就+4。)


此外,我们还可以通过以下两个命令来查看确认(其他平台可能节点不同,不过名称基本上是pinmux-pins):


cat /d/pinctrl/pinctrl/pinmux-pins 或者 cat /sys/kernel/debug/pinctrl/pinctrl/pinmux-pins

cat /sys/kernel/debug/gpio //查看GPIO当前的申请使用情况和当前的电平状态


com-all-enable = <&gpio4 RK_PC5  GPIO_ACTIVE_LOW>;

代表 gpio4 C5 口为低电平

RK_PC5 为宏定义 取值范围为0~31

目录
相关文章
|
存储 Android开发
Rockchip系列之客制化GPIO接口Driver部分(2)
Rockchip系列之客制化GPIO接口Driver部分(2)
604 0
|
Ubuntu Oracle 关系型数据库
ubuntu18.04.6的安装教程
VirtualBox正在积极开发,发布频繁,功能、支持的客户操作系统和运行平台越来越多。VirtualBox是一个由专门公司支持的社区项目:鼓励每个人都做出贡献,同时Oracle确保产品始终符合专业质量标准。
851 1
|
自然语言处理 安全 Linux
一文详解远程控制安全与远程控制软件(横测ToDesk\AnyDesk\向日葵)
一文详解远程控制安全与远程控制软件(横测ToDesk\AnyDesk\向日葵)
1764 0
一文详解远程控制安全与远程控制软件(横测ToDesk\AnyDesk\向日葵)
|
网络协议
移远EC600N 4G模块连接步骤
移远EC600N 4G模块连接步骤
1869 0
|
5月前
|
数据采集 人工智能 编解码
YOLO不是“魔法”,是你自己也能跑通的一条工程流水线:Python从标注到训练全实战
YOLO不是“魔法”,是你自己也能跑通的一条工程流水线:Python从标注到训练全实战
685 2
YOLO不是“魔法”,是你自己也能跑通的一条工程流水线:Python从标注到训练全实战
|
JSON 数据格式 C++
cpp struct json相互转换
使用 `nlohmann/json`库,可以简便地在C++中实现结构体与JSON之间的相互转换。通过定义序列化和反序列化函数,可以处理简单和复杂的结构体类型。这种方法不仅提高了代码的可读性和维护性,还增强了数据交换的灵活性。
1123 26
|
Java API 数据安全/隐私保护
如何在Java中处理InvalidKeyException异常?
如何在Java中处理InvalidKeyException异常?
|
Ubuntu 安全 Linux
Windows——安装Ubuntu 18.04 LTS
Windows——安装Ubuntu 18.04 LTS
883 1
Windows——安装Ubuntu 18.04 LTS
|
Web App开发 安全 Linux
远程控制软件
远程控制软件介绍
775 5
|
编解码 芯片 SoC
rk809-code喇叭耳机调试分享
rk809-code喇叭耳机调试分享
2099 0