对stm32 位带访问的理解

1,位带访问的定义

位带访问就是,芯片内部对该部分内存的访问,可以按bit位来进行访问,不用对整个字进行访问

2,使用的范围

       有两个区中实现了位带。其中一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设
区的最低 1MB 范围。这两个区中的地址除了可以像普通的 RAM 一样使用外,它们还都有自
己的“位带别名区”,位带别名区把每个比特膨胀成一个 32 位的字。当你通过位带别名区访
问这些字时,就可以达到访问原始比特的目的。
 

对stm32 位带访问的理解

3,和传统访问方法的比较

举例:欲设置地址 0x2000_0000 中的比特 2,则使用位带操作的设置过程如下图所示:
对stm32 位带访问的理解
对应的汇编代码如图 5.5 所示

对stm32 位带访问的理解

位带读操作相对简单些:

对stm32 位带访问的理解
对应的汇编代码

对stm32 位带访问的理解

4,优势

(1)简化代码,化简跳转判断

(2)为串行器件提供方便

(3)方便I/O密集型器件的使用