1、GPIO的概念
GPIO: General-purpose input/output,通用的输入输出口
2、GPIO使用
(1)有多组GPIO,每组有多个GPIO引脚。
(2)初始化内容
- 使能:电源/时钟;
- 模式(Mode):引脚可用于GPIO或其他功能;
- 方向:引脚Mode设置为GPIO时,可以继续设置它是输出引脚,还是输入引脚;
- 数值:对于输出引脚,可以设置寄存器让它输出高、低电平;对于输入引脚,可以读取寄存器得到引脚的当前电平。
(3)GPIO寄存器操作
- 芯片手册一般有相关章节,用来介绍:power/clock,可以设置对应寄存器使能某个GPIO模块(Module)。有些芯片的GPIO是没有使能开头的,即它总是使能的。
- 一个引脚可以用于GPIO、串口、USB或其他功能,有对应的寄存器来选择引脚的功能。
- 对于已经设置为GPIO功能的引脚,有方向寄存器用来设置它的方向:输出、输入。
- 对于已经设置为GPIO功能的引脚,有数据寄存器用来写、读引脚电平状态。
3、GPIO寄存器的读写
(1)原则:不能影响到其他位。
(2)对于data_reg:读出、修改对应位、写入。
(3)部分处理有set_reg和clr_reg:直接往相应位写1,就能实现置1或清零;写0的位没有任何效果。
4、GPIO的其他功能
(1)防抖动、中断、唤醒等。
(2)GPIO配置的输出速率也高,对外的干扰越大。