STM32相关寄存器操作说明
GPIOx->CRL端口配置低(8位数据)寄存器
- CRL操作的对象是0-7位的寄存器,例如PA0-PA7.PB0-PB7,
- GPIOB->CRL|=0X00300000
CRL对应的是将要操作的是低8位数据寄存器,
0X00300000对应的是第6个(从0位开始计数,从右往左数过去,第几位就是对应PB0 -PB7的哪个引脚)GPIO引脚,也就是要操作的是PB5口,数值为3,那么转换成二进制就是:0011,查看数据手册上的CRL寄存器相关数据,可以找到对应的数值含义11:就是配置:输出模式,速度50MHz,00:就对应:通用推挽输出模式,一句话概括:配置PB5为:推挽输出模式,速度为50MHz
- 设置PA0为推挽输出速度为50MHz
GPIOA->CRL&=0XFFFFFFF0;//PA0配置清零
GPIOA->CRL|=0X00000003;//PA0输出 速度50MHz

GPIOx->CRH端口配置高(8位数据)寄存器
- CRH操作的对象是8-15位的寄存器,例如PA8-PA15.PB8-PB15,

- 设置PA10为推挽输出速度为50MHz
解析:通过查表可得,输出速度为
50MHz模式:11;推挽输出:00,二进制表示就是:0011,注意低位在右边,再进行二进制转十六进制,换算可得:3,然后将3分配到所需要配置GPIO引脚上,PA10属于高8位的数据寄存器IO引脚,所以要使用CRH来配置,也就是:GPIOA->CRH,对PA10所对应引脚位进行与操作:CRH & 0xFFFFF0FF然后将结果又赋值给这个寄存器,也就是做清零操作。
GPIOA->CRH&=0XFFFFF0FF;//PA10配置清零
GPIOA->CRH|=0X00000003;//PA10输出 速度50MHz

本文详细介绍了STM32中GPIO端口配置寄存器CRL和CRH的使用方法,包括如何通过位操作设置GPIO引脚为推挽输出模式并设定速度为50MHz。通过示例代码解释了对PA0和PA10的配置过程,涉及对寄存器的清零和赋值操作。
2315

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



