crh专题

STM32GPIO寄存器CRL、CRH、IDR、ODR、BSRR、BRR

GPIO 寄存器描述 注意:本文以STM32F10XXX为参考,重在理解 CRL与CRH CRL与CRH分别为端口配置低与端口配置高寄存器,为32位寄存器,其中每四位控制一个I/O口 对CNFy与MODEy(y=0,1,2…7)位写1或0控制I/O口的输入输出模式 STM32I/O口都是16位的,CRL与CRH分别控制低8位与高8位,两个寄存器的用法与功能完全一

【IIC】#define SDA_IN() {GPIOB->CRH=0XFFFFFF0F;GPIOB->CRH|=8<<4;}

在软件IIC中看到以下代码,花了好长时间搞懂,特此记录 // SDA对应IO口方向的设置#define SDA_IN() {GPIOB->CRH&=0XFFFFFF0F;GPIOB->CRH|=8<<4;}// 1000 上拉输入模式 #define SDA_OUT() {GPIOB->CRH&=0XFFFFFF0F;GPIOB->CRH|=3<<4;}// 输出模式,最大速度50mhz

STM32的CRL CRH ODR BRR BSRR寄存器(逐句解析)

一 端口配置寄存器(GPIOx_CRL 和 GPIOx_CRH) 这两个寄存器都是 GPIO 口配置寄存器, CRL 控制端口的低八位, CRH 控制端口的 高八位。寄存器的作用是控制 GPIO 口的工作模式和工作速度。 每组 GPIO 下有 16 个 IO 口,一个寄存器共 32 位,每 4 个位控制 1 个 IO如图