GPIOx->BSR 低位端口配置寄存器(x = A~ G,该寄存器偏移地址为:0x14): 0-15位——为1时,可以使ODRx相应的位清零,为0时,无变化 注:用BSRR和BRR去改变管脚状态的时候,没有被中断打断的风险,也就不需要关闭中断 GPIOx->LCKR 端口配置锁定寄存器(x = A~ G,该寄存器偏移地址为:0x18):用来锁定对应位的端...
二、置GPIOD->BSRR高16位的某位为'1',则对应的I/O端口置'0';而置GPIOD->BSRR高16位的某位为'0',则对应的I/O端口不变。 三、置GPIOD->BRR低16位的某位为'1',则对应的I/O端口置'0';而置GPIOD->BRR低16位的某位为'0',则对应的I/O端口不变。 例如: 1)要设置D0、D5、D10、D11为高,...
BRR(Bit Reset Register):这个寄存器用于清除GPIO引脚的输出状态,将引脚设置为低电平输出。每个引脚对应一个比特位,比特位设置为1时,表示将引脚设置为低电平输出;比特位设置为0时,保持引脚的原始状态。 综上所述,ODR、BSRR和BRR寄存器在GPIO配置中起到了设置和清除GPIO引脚输出状态的作用。使用这些寄存器,可以通过设置...
因为BSRR的 低 16bsts 恰好是set操作,而高16bit是 reset 操作 而BRR 低 16bits 是reset 操作。 简单地说GPIOx_BSRR的高16位称作清除寄存器,而GPIOx_BSRR的低16位称作设置寄存器。 另一个寄存器GPIOx_BRR只有低16位有效,与GPIOx_BSRR的高16位具有相同功能。 举个例子说明如何使用这两个寄存器和所体现的优势。
GPIO对应的寄存器个数为7个,包括2 个 32位端口配置寄存器(CRL 和 CRH)、2 个 32 位端口数据寄存器(IDR 和 ODR)、1 个 32 位端口置位/复位寄存器(BSRR)、1 个 16 位端口复位寄存器(BRR)、1 个 32 位端口锁定寄存器 (LCKR)。下面将一一介绍。 3.1 2 个 32位端口配置寄存器(CRL 和 CRH) 作用:用来配...
因为BSRR的 低 16bsts 恰好是set操作,而高16bit是 reset 操作 而BRR 低 16bits 是reset 操作。 简单地说GPIOx_BSRR的高16位称作清除寄存器,而GPIOx_BSRR的低16位称作设置寄存器。 另一个寄存器GPIOx_BRR只有低16位有效,与GPIOx_BSRR的高16位具有相同功能。
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 = ...
STM32 GPIO BRR和BSRR寄存器 使用BRR和BSRR寄存器可以方便地快速地实现对端口某些特定位的操作,而不影响其它位的状态。 比如希望快速地对GPIOE的位7进行翻转,则可以: GPIOE->BSRR = 0x80; // 置'1' GPIOE->BRR = 0x80; // 置'0' 如果使用常规'读-改-写'的方法:...
GPIOx_BRR(x=A..E)端口位清除寄存器16位寄存器 GPIOx_BSRR(x=A..E)端口位设置/清除寄存器16位寄存器 GPIOx_LCKR(x=A..E)端口配置锁定寄存器32位寄存器 我们首先分析上面的结构电路: 1、保护二极管:保护二极管从它的名字就不难想到他是用来对系统进行保护的,通过两个二极管的导通可以防止引脚外部输入电压过低...
BRR寄存器, 控制管脚的低电平,低16位有效,写1 低电平; 特别的: F1和F4系列都有 ODR和BSRR,但F4 取消了BRR。所以为了代码通用,尽量不使用BRR,反正BSRR能完成. ODR、BSRR的使用区别: 你应该有过和我一样的疑问: ODR寄存器只用低16位,就能控制引脚的高、低电平,还能读寄存器的值,用以判断引脚电平状态; ...