[STM32F1] 位带操作并不神秘

[复制链接]
918|2
 楼主| foxsbig 发表于 2021-8-2 09:36 | 显示全部楼层 |阅读模式
位操作就是可以单独的对一个比特位读和写,这个在51 单片机中非常常见。51 单片
机中通过关键字sbit 来实现位定义,STM32 没有这样的关键字,而是通过访问位带别名区
来实现。
在STM32 中,有两个地方实现了位带,一个是SRAM区的最低1MB 空间,令一个是
外设区最低1MB 空间。这两个1MB 的空间除了可以像正常的RAM 一样操作外,他们还
有自己的位带别名区,位带别名区把这1MB 的空间的每一个位膨胀成一个32 位的字,当
访问位带别名区的这些字时,就可以达到访问位带区某个比特位的目的

4583061074c36b666f.png

sadicy 发表于 2021-8-2 14:52 | 显示全部楼层
其实,只是使用用的话,影响不大,
也许无意中,多数人都用过
呐咯密密 发表于 2021-8-2 15:21 | 显示全部楼层
这说的太简单了,没价值啊,在STM32F103或者更高的内核上是容易实现的,但是在M0内核上,很难看到这种操作,不知有没有大佬介绍一下M0的伪位带操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

128

主题

768

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部