STM2的常用寄存器小结

本文详细介绍了STM32微控制器中GPIO模块的常用寄存器,包括配置寄存器(GPIOx_CRL,GPIOx_CRH)、输入数据寄存器(GPIOx_IDR)、输出数据寄存器(GPIOx_ODR)、位置/复位寄存器(GPIOx_BSRR)及复位寄存器(GPIOx_BRR),并解释了如何通过这些寄存器来配置和控制GPIO的功能。

每组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位 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值