找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2698|回复: 0
收起左侧

STM32学习:什么叫BIT_BAND(位带)

[复制链接]
ID:98924 发表于 2015-12-9 01:08 | 显示全部楼层 |阅读模式
什么是位段、位带别名区?
答: 是这样的,记得MCS51吗? MCS51就是有位操作,以一位(BIT)为数据对象的操作,
      MCS51可以简单的将P1口的第2位独立操作: P1.2=0;P1.2=1 ; 就是这样把P1口的第三个脚(BIT2)置0置。 而现在STM32的位段、位带别名区就为了实现这样的功能。      
      对象可以是SRAM,I/O外设空间。实现对这些地方的某一位的操作。
      它是这样的。在寻址空间(32位地址是 4GB )另一地方,取个别名区空间,从这地址开始处,每一个字(32BIT)就对应SRAM或I/O的一位。
      
      这样呢,1MB SRAM就 可以有32MB的对应别名区空间,就是1位膨胀到32位(1BIT 变为1个字)  我们对这个别名区空间开始的某一字操作,置0或置1,就等于它映射的SRAM或I/O相应的某地址的某一位的操作。
      

它有什么好处?
答:简单来说,可以把代码缩小, 速度更快,效率更高,更安全。
      一般操作要6条指令,而使用 位带别名区只要4条指令。   
      一般操作是  读-改-写  的方式, 而位带别名区是 写 操作。防止中断对读-改-写  的方式的影响。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表