本文主要是介绍普适的GPIO引脚操作方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1 普适的GPIO引脚操作方法
- 1.1 GPIO模块一般结构
- 1.2 GPIO相关寄存器
- 1.3 GPIO寄存器的2种操作方法
- 1.4 GPIO的其他功能:防抖动、中断、唤醒
1 普适的GPIO引脚操作方法
GPIO:General-purpose input/output,通用的输入输出口。
1.1 GPIO模块一般结构
有多组 GPIO,每组有多个 GPIO。
使能: 电源/时钟。
模式(Mode): 引脚可用于 GPIO 或其他功能。
方向: 引脚 Mode 设置为 GPIO 时,可以继续设置它是输出引脚,还是输入引脚。
数值: 对于输出引脚,可以设置寄存器让它输出高、低电平;对于输入引脚,可以读取寄存器得到引脚的当前电平。
1.2 GPIO相关寄存器
使能:
- 芯片手册一般有相关章节,用来介绍:power/clock。
- 可以设置对应寄存器使能某个 GPIO 模块(Module)。
- 有些芯片的 GPIO 是没有使能开关的,即它总是使能的。
模式(Mode):
- 一个引脚可以用于 GPIO、串口、USB 或其他功能。
- 有对应的寄存器来选择引脚的功能。
方向:
- 对于已经设置为 GPIO 功能的引脚,有方向寄存器用来设置它的方向:输出、输入。
数值:
- 对于已经设置为 GPIO 功能的引脚,有数据寄存器用来写、读引脚电平状态。
1.3 GPIO寄存器的2种操作方法
原则:不能影响到其他位。
1. 直接读写:读出、修改对应位、写入。
//要设置 bit n:
val = data_reg;
val = val | (1<<n);
data_reg = val;//要清除 bit n:
val = data_reg;
val = val & ~(1<<n);
data_reg = val;
2. set-and-clear protocol:
set_reg, clr_reg, data_reg 三个寄存器对应的是同一个物理寄存器,要设置 bit n:set_reg = (1<<n);要清除 bit n:clr_reg = (1<<n)。
1.4 GPIO的其他功能:防抖动、中断、唤醒
后续介绍。
参考资料:
- 韦东山全系列视频第1季快速入门
这篇关于普适的GPIO引脚操作方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!