位带区的一个位在位带别名区会膨胀成四个字节。
外设位带区与外设位带别名区的地址转换:
AliasAddr=0x42000000+(A-0x40000000)* 8* 4+ n * 4
0x42000000为外设位带别名区基地址,
A为要操作的位所在的寄存器地址,
0x40000000为外设位带区基地址,
8代表一个字节8位,
4表示4个字节,32位,
理解(A-0x40000000)* 8 * 4
计算要操作的位所在位带别名区的基地址
n表示位号
4表示偏移4个字节。
SRMA
AliasAddr=0x22000000+(A-0x20000000)* 8* 4+ n * 4
统一公式
((addr&0xF0000000)+0x02000000+
( (addr&0x00FFFFFF)<<5)+(bitnum<<2) )
STM32位带操作笔记
最新推荐文章于 2024-03-10 15:13:01 发布