GPIO的BSRR; BSRR:Bit Set/Reset Register,设置复位寄存器,用于对GPIO数据输出进行调制,通过只用调制BSRR来处理16位的GPIO接口输出。BSRR的低16位用于进行设置,高16位用于清除,即低16位在设置之后,会将GPIO的对应数据设置为1;高16位在设置之后,会将GPIO的对应数据设置为0。 故可看如下的HAL库GPIO输出转置的设置: ...
GPIO的BSRR; BSRR:Bit Set/Reset Register,设置复位寄存器,用于对GPIO数据输出进行调制,通过只用调制BSRR来处理16位的GPIO接口输出。BSRR的低16位用于进行设置,高16位用于清除,即低16位在设置之后,会将GPIO的对应数据设置为1;高16位在设置之后,会将GPIO的对应数据设置为0。 故可看如下的HAL库GPIO输出转置的设置: ...
每个引脚对应一个比特位,比特位设置为1时,表示将引脚设置为低电平输出;比特位设置为0时,保持引脚的原始状态。 综上所述,ODR、BSRR和BRR寄存器在GPIO配置中起到了设置和清除GPIO引脚输出状态的作用。使用这些寄存器,可以通过设置或清除相应的比特位,将GPIO引脚设置为高电平输出、低电平输出或保持原来的状态。 1 赞 ...
然后写寄存器BSRR 另外就是,STM32的库,GPIO_SetBits,GPIO_ResetBits,可以对多个引脚操作的,就是把需要操作的引脚用“|”(或运算)。 最方便的还是自己直接写寄存器(方法1)。 第一步:第一你要用的IO口 比如说要用A口的高8位定义 GPIOA_USE=0xF0 ...
一、置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端口不变。
GPIO的寄存器BSRR和BRR 端⼝位设置/复位寄存器BSRR:注:如果同时设置了BSy和BRy的对应位,BSy位起作⽤。位31:16 BRy: 清除端⼝x的位y (y = 0…15)这些位只能写⼊并只能以字(16位)的形式操作。0:对对应的ODRy位不产⽣影响 1:清除对应的ODRy位为0 位15:0 BSy: 设置端⼝x的位y (y = ...
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\...
双MOS 管结构电路的输入信号,是由 GPIO“输出数据寄存器GPIOx_ODR”提供的,因此我们通过修改输出数据寄存器的值就可以修改 GPIO 引脚的输出电平。而“置位/复位寄存器 GPIOx_BSRR”可以通过修改输出数据寄存器的值从而影响电路的输出。 (5)、复用功能输出
3、输出数据寄存器:前面我们知道双了MOS管结构电路的输入信号,是由GPIO输出数据寄存器GPIOx_ODR提供的,因此我们可以通过修改输出数据寄存器的值,就可以修改GPIO引脚的输出电平。而置位/复位寄存器GPIOx_BSRR可以通过修改输出数据寄存器的值,从而影响电路的输出。