打印
[STM32]

stm32学习日志之位段

[复制链接]
1226|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
airwill| | 2014-3-1 12:03 | 只看该作者
楼主很用功, 鼓励一下.
用这个公式算就是了.
bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4)

不过除了 SRAM, 还有外设也有位段.
另外, 如果采用这个算式给地址, 编译器优化能力好象不强

使用特权

评论回复
板凳
liudanwei| | 2014-3-1 16:57 | 只看该作者
来学习学习,

使用特权

评论回复
地板
小小小小白|  楼主 | 2014-3-2 12:34 | 只看该作者
airwill 发表于 2014-3-1 12:03
楼主很用功, 鼓励一下.
用这个公式算就是了.
bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_ ...

:)我还没学汇编,所以编译器的优化暂时不管它

使用特权

评论回复
5
一切会如旧| | 2014-3-4 09:14 | 只看该作者
我看过“ALIENTEK”的"system"文件夹里有个宏定义,稍微方便一些,对于SRAM和外设都通用的宏定义:#define BITBAND (addr,bitnum) ((addr&0xF000 0000)+0x200 0000+((addr&0xFFFF FFFF)<< 5 )+(bitnum << 2)),但就是不知道里面“addr&0xFFFF FFFF”作用是什么。

使用特权

评论回复
6
youluo235| | 2014-3-4 20:48 | 只看该作者
顶楼主啊

使用特权

评论回复
7
小小小小白|  楼主 | 2014-3-5 10:06 | 只看该作者
youluo235 发表于 2014-3-4 20:48
顶楼主啊

:)

使用特权

评论回复
8
jeff_yunyi| | 2014-3-5 10:57 | 只看该作者
向楼主学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

515

帖子

4

粉丝