一、概念性
什么是位带操作
位带操作就是可以单独对一个比特位读和写。在51单片机中,通过sbit
关键字来实现位定义。
对于STM32位带区和位带别名区的理解
STM32里没有这样的关键字,但可以通过位带别名区来实现。
想要控制这些bit,就可以通过访问和控制位带别名区
的一个32bit的字(因为stm32单片机以32bit为单位操作最为高效),来控制位带区内的任意一位。
一个位带区的位对应位带别名区的四个字节(32bit)。
SRAM存储代码的区域。
二 、位带区和位带别名区的地址转换
- 地址关系
地址名称 | 地址 |
---|---|
外设位带区地址 | 0x4000 0000 ~ 0x4010 0000 |
外设位带别名区地址 | 0x4200 0000 ~ 0x43ff ffff |
SRAM 位带区地址 | 0x2000 0000 ~ 0x2010 0000 |
SRAM 位带别名区地址 | 0x2200 0000 ~ 0x23ff fff |
外设位带区和外设位带别名区同属于
片上外设
(一) 外设位带区和位带别名区
AliasAddr = 0x4200 0000 + (Addr-0x4000 0000)*8*4 + n*