STM32端口IO方向设置问题
STM32端口寄存器配置
STM32
的
IO
口可以由软件配置成如下
8
种模式:
1
、输入浮空
2
、输入上拉
3
、输入下拉
4
、模拟输入
5
、开漏输出
6
、推挽输出
7
、推挽式复用功能
8
、开漏复用功能
每个
IO
口可以自由编程,但
IO
口寄存器必须要按
32
位字被访问。
STM32
的很多
IO
口都
是
5V
兼容的,这些
IO
口在与
5V
电平的外设连接的时候很有优势,具体哪些
IO
口是
5V
兼容
的,可以从该芯片的数据手册管脚描述章节查到(
I/O Level
标
FT
的就是
5V
电平兼容的)。
STM32
的每个
IO
端口都有
7
个寄存器来控制。他们分别是:配置模式的
2
个
32
位的端口
配置寄存器
CRL
和
CRH
;
2
个
32
位的数据寄存器
IDR
和
ODR
;
1
个
32
位的置位
/
复位寄存器
BSRR
;一个
16
位的复位寄存器
BRR
;
1
个
32
位的锁存寄存器
LCKR
;这里我们仅介绍常用 的
几个寄存器,我们常用的
IO
端口寄存器只有
4
个:
CRL
、
CRH
、
IDR
、
ODR
。
CRL
和
CRH
控制着每个
IO
口的模式及输出速率。
STM32
的
IO
口位配置表如表
6.1.1
所示: