1 io口 stm32_STM32如何进行位绑定

STM32的位绑定允许直接操作寄存器的特定位,提高代码效率。通过位绑定,可以像51单片机那样方便地操控STM32的IO口。文章介绍了位绑定的概念、存储器映射、地址映射算法,并提供了程序实现示例,如PAout和PAin宏定义。
摘要由CSDN通过智能技术生成

在我们学习51单片机的时候,对IO的操作可直接使用P0^1=0,P0^2=1,控制某个IO口就可以单独的对某个端口的IO口进行操作,但在STM32中是不能直接这样用的,为了可以像使用51单片机一样对某个端口的IO口进行直接操作方便我们使用,就出现了位带操作。

位绑定理解:

STM32对外设端口的操作是通过配置相应的寄存器的位来完成的,位绑定就是把对寄存器某一位的操作映射到某个内存地址,通过位绑定后我们可以使我们的的代码效率更高,对外设的操作更加方便。

下图显示了Cortex-M3 存储器的映射

eb51b03e6a9cc68f833e8c831e48cb4d.png

从图中我们可以看出STM32存储映射区包括两个位绑定区(bit band区)。分别为SRAM区域中的低1MB地址即(0X20000000~0x200FFFFF)和外设存储区的低 1MB地址处(0x4000 0000 ~ 0x400F FFFF)。我们都知道STM32是32的,最快捷的操作方法就是操作一个32的地址,所以STM32有设计出了别名区,对32MB SRAM的别名区的访问映射为1M SRAM位绑定区(Bit Band)的访问,对 32MB 外设别名区的访问映射为对 1MB 外设位绑定区(Bit Band)区的访问。为什么别名区会是位带区的32倍呢?因为位带区是以位为单位,每八个位为一个地址,而别名区是以字为单位,每个字等于4个字节,就是32位。

位绑定区的地址映射如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值