[STM32] stm32学习日志之位段

[复制链接]
1799|7
 楼主| 小小小小白 发表于 2014-3-1 10:55 | 显示全部楼层 |阅读模式


bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
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_ ...

:)我还没学汇编,所以编译器的优化暂时不管它
一切会如旧 发表于 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”作用是什么。
youluo235 发表于 2014-3-4 20:48 | 显示全部楼层
顶楼主啊
 楼主| 小小小小白 发表于 2014-3-5 10:06 | 显示全部楼层
youluo235 发表于 2014-3-4 20:48
顶楼主啊

:)
jeff_yunyi 发表于 2014-3-5 10:57 | 显示全部楼层
向楼主学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

515

帖子

4

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