微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > stm32位带地址换算问题

stm32位带地址换算问题

时间:10-02 整理:3721RD 点击:
FLASH :0x42000000 +((A‐0x40000000)*8+n)*4
A:寄存器的地址   n:访问该寄存器的第n个bit位还必须加上一个n
举例:
比如我要访问如下寄存器GPIOB_BSRR中的第14bit位BS13,
GPIO端口B的起始地址是x04001_0C00,GPIOB_BSRR寄存器的偏移地址是
0x10,访问的第14bit位的BS13。
换算0x4200_0000 + ((0x40010c00-0x40000000)*8 + 12)*4 = 实际地址
问题:不是说n是访问该寄存器的第n个位吗,那访问第14个位,不是应该加14,为什么公式里加12,还有那个偏移地址是干什么的?

感觉有错误:
换算0x4200_0000 + ((0x40010c00-0x40000000)*8 + 12)*4 = 实际地址
应该是
换算0x4200_0000 + ((0x40010c10-0x40000000)*8 + 13)*4 = 实际地址
STM32的位操作的方法:http://blog.csdn.net/cy757/article/details/5816929
STM32F103c8t独立按键功能深入剖析:http://wenku.baidu.com/view/f4f15a19a2161479171128df.html

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top