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位,两个寄存器的用法与功能完全一模一样,下面来几个例子就明白了
e.g.PD1配置为推挽输出,最大速度50MHz
GPIOD->CRL=3<<4
新手注释:上方代码是对GPIOD_CRL寄存器左移4位再(即从第5位开始从右往左,前4位补0)写0011(至于为何写0011看上表),换算成十六进制就是0x0000 0030,如果还不理解(我

本文详细介绍了STM32的GPIO寄存器,包括CRL和CRH用于配置I/O口模式,IDR和ODR用于读取和设置输出状态,以及BSRR和BRR用于快速设置I/O电平。通过实例解析了如何使用这些寄存器进行端口配置,并讨论了使用BSRR和BRR的优势,避免中断冲突。
最低0.47元/天 解锁文章
3184

被折叠的 条评论
为什么被折叠?



