BSRR:Bit Set/Reset Register,设置复位寄存器,用于对GPIO数据输出进行调制,通过只用调制BSRR来处理16位的GPIO接口输出。BSRR的低16位用于进行设置,高16位用于清除,即低16位在设置之后,会将GPIO的对应数据设置为1;高16位在设置之后,会将GPIO的对应数据设置为0。 故可看如下的HAL库GPIO输出转置的设置: voidHAL_GPIO...
每个引脚对应一个比特位,比特位设置为1时,表示将引脚设置为低电平输出;比特位设置为0时,保持引脚的原始状态。 综上所述,ODR、BSRR和BRR寄存器在GPIO配置中起到了设置和清除GPIO引脚输出状态的作用。使用这些寄存器,可以通过设置或清除相应的比特位,将GPIO引脚设置为高电平输出、低电平输出或保持原来的状态。 1 赞 ...
GPIOD->BRR = ~data & 0xff00; 规则: 一、置GPIOD->BSRR低16位的某位为'1',则对应的I/O端口置'1';而置GPIOD->BSRR低16位的某位为'0',则对应的I/O端口不变。 二、置GPIOD->BSRR高16位的某位为'1',则对应的I/O端口置'0';而置GPIOD->BSRR高16位的某位为'0',则对应的I/O端口不变。
端口位设置/清除寄存器(GPIOx_BSRR) (x=A..E) 也用于控制GPIO口的输出状态,每个GPIO口占用两个比特位,第一个比特位为0时代表置位(设置为1),为1时代表复位(设置为0),第二个比特位用于选择GPIO口,当该比特位被置为1时,对应的GPIO口输出电平被控制。
2个 32 位数据寄存器(GPIOx_IDR 和 GPIOx_ODR)、 1个 32 位置位/复位寄存器 (GPIOx_BSRR)、 1个 32 位锁定寄存器 (GPIOx_LCKR) 和 2个 32 位复用功能选择寄存器(GPIOx_AFRH 和 GPIOx_AFRL)。 每个GPIO有16个引脚,每个引脚都可以单独配置。
GPIOB->BSRR = 0x01就是把GPIOB port 0升为高电平\r\nGPIOB->BRR = 0x01就是把GPIOB port 0降为低电平\r\nGPIOB->BSRR = 0x02就是把GPIOB port 1升为高电平\r\nGPIOB->BRR = 0x02就是把GPIOB port 1降为低电平\r\nGPIOB->BSRR = 0x04就是把GPIOB port 2升为高电平\r\...
GPIOB->BSRR = 0x02就是把GPIOB port 1升为高电平 GPIOB->BRR = 0x02就是把GPIOB port 1降为低电平 GPIOB->BSRR = 0x04就是把GPIOB port 2升为高电平 GPIOB->BRR = 0x04就是把GPIOB port 2降为低电平 GPIOB->BSRR = 0x08就是把GPIOB port 3升为高电平 GPIOB->BRR = 0x08...
双MOS 管结构电路的输入信号,是由 GPIO“输出数据寄存器GPIOx_ODR”提供的,因此我们通过修改输出数据寄存器的值就可以修改 GPIO 引脚的输出电平。而“置位/复位寄存器 GPIOx_BSRR”可以通过修改输出数据寄存器的值从而影响电路的输出。 (5)、复用功能输出
前面我们知道双了MOS管结构电路的输入信号,是由GPIO输出数据寄存器GPIOx_ODR提供的,因此我们可以通过修改输出数据寄存器的值,就可以修改GPIO引脚的输出电平。而置位/复位寄存器GPIOx_BSRR可以通过修改输出数据寄存器的值,从而影响电路的输出。 4、复用功能输出 ...