STM2的常用寄存器小结

每组GPIO的常用寄存器:
1.两个32位的配置寄存器(GPIOx_CRL,GPIOx_CRH)
   配置一个IO口需要4个位,32位寄存器只能配置8个IO口,一组有16个IO口,所以共需要两个寄存器。
   GPIOA_CRL控制标号PA0-PA7的口,GPIOA_CRH控制PA8-PA15的口
控制每个IO口的4个位中,前两个位控制是输出模式还是输入模式,后两位控制输出或输入模式下的配置
前两位(如 位0:1):
00:  输入模式(复位后的状态)
01:  输出模式,最大速度10MHZ
10:  输出模式,最大速度2MHZ
11:  输出模式,最大速度50MHZ
后两位(如:位2:3)
输入模式下(前两位为00)
00:模拟输入模式
01:浮空输入模式(复位后的状态)
10:上拉/下拉输入模式
11:保留
输出模式下(前两位不为00)
00:通用推挽输出模式
01:通用开漏输出模式
10:复用功能推挽输出模式
11:复用功能开漏输出模式
2.两个32位数据寄存器(GPIOx_IDR,GPIO_ODR)
   GPIOx_IDR输入数据寄存器    每个位控制一个IO口,标号0-15,对应的是IO口的输入电平
   GPIO_ODR输出数据寄存器    高16位保留,始终读为;只使用低16位,每个位控制一个IO口的输出电平高或低,还可在输入模式下配置上拉或下拉
3.一个32位置位/复位寄存器(GPIOx_BSRR)
  对于BSRR设置高电平时只要将对应的位设置为1,其余置为0;设置低电平时将对应的位设置为1,其余置为0    
  高16位:    0:对对应的ODRy位不产生影响     1:清除对应的ODRy位为0 
  低16位:    0:对对应的ODRy位不产生影响     1:设置对应的ODRy位为1 
4.一个16位复位寄存器(GPIOx_BRR)
BRR寄存器的作用和BSRR的高位一样,通常使用BSRR寄存器的低16为和BRR寄存器的高16位 

猜你喜欢

转载自blog.csdn.net/qq_42158309/article/details/81281130
今日推荐