GPIO_BSRR与GPIO_BRR寄存器GPIOx_BSRR的高16位称作清除寄存器,而GPIOx_BSRR的低16位称作设置寄存器。BRR低16位即为BSRR高16位。ODR寄存器可读可写:既能控制管脚为高电平,也能控制深入理解STM32的BRR寄存器和BSRR寄存器1、BRR—bit RESET(置0) register //高16位无,低16位置1为0,不能写1 2、BSRR—bit SET(设置1或0) register //低16位设置1为0 BSRR:用于低16
>ω< 使用BRR和BSRR寄存器可以方便地快速地实现对端口某些特定位的操作,而不影响其它位的状态。比如希望快速地对GPIOE的位7进行翻转,则可以:GPIOE->BSRR = 0x80; // 置'1' GPIOEBSRR(Bit Set Reset Register)和BRR(Bit Reset Register)是STM32系列MCU中常用的两个寄存器,用于控制GPIO的输入输出状态。BSRR寄存器的作用是在GPIO的输出口设
stm32c语言bsrr STM32中的BRR寄存器与BSRR寄存器重复么?简单地说GPIOx_BSRR的高16位称作清除寄存器,而GPIOx_BSRR的低16位称作设置寄存器。另一个寄存器GPIOx_BRR只有低16位有效,与GPIO_ResetBits(GPIOD, (~data & 0xff00)); 也可以直接操作这两个寄存器:GPIOD->BSRR = data & 0xff00; GPIOD->BRR = ~data & 0xff00; 规则:一、置GPIOD->BSRR低16位的某位
↓。υ。↓ ODR寄存器相当于51单⽚机的端⼝寄存器,ODR是32-bit的,但端⼝都是16-bit的,所以⾼16位⽆⽤,低16位对应端⼝的16个pin,⽤法跟51类似,有读-改-写问题。为了避开读-改-写问BSRR寄存器称为端口位设置/清除寄存器,只写寄存器,32位,既能控制管脚为高电平,也能控制管脚为低电平,对寄存器高16位写1 对应管脚为低电平,对寄存器低16位写1对应管脚为高
BSRR 只写寄存器:color=Red]既能控制管脚为高电平,也能控制管脚为低电平。对寄存器高16bit 写1 对应管脚为低电平,对寄存器低16bit写1对应管脚为高电平。写0 ,无动作BRR GPIOx->BSRR = (uint32_t)GPIO_Pin << 16U; } }123456789101112131415 可见,不管是输出高还是输出低,都是对BSRR 寄存器的操作。三、BSRR、BRR、ODR 之间的关系配置BSRR ,