文章目录
1、位带简介
位操作就是可以单独的对一个比特位读和写,这个在 51 单片机中非常常见。51 单片 机中通过关键字 sbit 来实现位定义,STM32 没有这样的关键字,而是通过访问位带别名区 来实现。
在 STM32 中,有两个地方实现了位带,一个是 SRAM 区的最低 1MB 空间,令一个是外设区最低 1MB 空间。这两个 1MB 的空间除了可以像正常的 RAM 一样操作外,他们还 有自己的位带别名区,位带别名区把这 1MB 的空间的每一个位膨胀成一个 32 位的字,当 访问位带别名区的这些字时,就可以达到访问位带区某个比特位的目的。
2、外设位带区
外设位带区的地址为:0X40000000~0X40100000,大小为1MB,这 1MB 的大小在 103 系列大/中/小容量型号的单片机中包含了片上外设的全部寄存器,这些寄存器的地址为: 0X40000000~0X40029FFF 。 外设位带区经过膨胀后的位带别名区地址为:0X42000000~0X43FFFFFF,这个地址仍然在 CM3 片上外设的地址空