关于STM32的BSRR(端口位设置/清除寄存器) 和 BRR(端口位清除寄存器) 的理解(初学32)

(151) 2024-05-13 10:01:01

关于STM32的BSRR(端口位设置/清除寄存器) 和 BRR(端口位清除寄存器) 的理解(初学32)

BSRR 共32位,其对应位数低电平不影响ODR(端口输出数据寄存器),若低16位(0-15位)为1则ODR对应位数也为1,可以通过改变BSRR间接改变ODR

而BSRR的高16位(16-31)则和BRR中的低16位(0-15位)一样,为0则不影响ODR的对应位数的值,BSRR高16位和BRR低16对应位数为1则对应的ODR位数为0

共同点:注意BSRR和BRR中对应位数为0的均不影响ODR对应位数的值

关于STM32的BSRR(端口位设置/清除寄存器) 和 BRR(端口位清除寄存器) 的理解(初学32) (https://mushiming.com/)  第1张

关于STM32的BSRR(端口位设置/清除寄存器) 和 BRR(端口位清除寄存器) 的理解(初学32) (https://mushiming.com/)  第2张

那么这样子就有人可能会说BSRR高位没必要,我也是这么觉得的,后面去差了百度发现有其独特的功能,像这样子:
关于STM32的BSRR(端口位设置/清除寄存器) 和 BRR(端口位清除寄存器) 的理解(初学32) (https://mushiming.com/)  第3张

THE END

发表回复