本文主要是介绍2. 通用并行接口GPIO,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2. 通用并行接口GPIO
2.1 GPIO结构及寄存器说明
2.2 GPIO设计实例
2.2.1 直接操作寄存器软件设计
2.2.2 使用库函数范例程序(v2.0.1)
2.2.3 用GPIO控制LCD
2.1 GPIO结构及寄存器说明
- GPIO包括多个16位I/O端口,每个端口可以独立设置3种输入方式和4种输出方式,并可独立地置位或复位
- GPIO由寄存器、输入驱动器和输出驱动器等部分组成
- GPIO通过7个32位寄存器进行操作
偏移地址 | 名称 | 类型 | 复位值 | 说明 |
0X00 | CRL | 读/写 | 0X44444444 | 配置寄存器低位(每个端口4位) |
0X04 | CRH | 读/写 | 0X44444444 | 配置寄存器高位(每个端口4位) |
0X08 | IDR | 读 | 0X0000 | 16位输入数据寄存器 |
0X0C | ODR | 读/写 | 0X0000 | 16位输出数据寄存器 |
0X10 | BSRR | 写 | 0X00000000 | 位置位/复位寄存器 |
0X14 | BRR | 写 | 0X0000 | 位复位寄存器 |
0X18 | LCKR | 读/写 | 0X00000 | 配置锁定寄存器 |
- 每个端口的4个配置位是CNF[1:0]和MODE[1:0]
CNF[1:0] | MODE[1:0] | 输入配置 | CNF[1:0] | MODE[1:0](2) | 输出配置 |
00 | 00 | 模拟输入 | 00 | 01/10/11 | 通用推挽输出 |
01 | 00 | 浮空输入(复位状态) | 01 | 01/10/11 | 通用开漏输出 |
10 | 00 | 上拉/下拉输入(1) | 10 | 01/10/11 | 复用推挽输出 |
11 | 00 | 保留 | 11 | 01/10/11 | 复用开漏输出 |
注:(1)ODR = 1:上拉,ODR = 0;下拉
(2)01/10/11 依次对应最大输出频率为1
这篇关于2. 通用并行接口GPIO的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!