• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32中算存储器大小的时候遇到的问题

大头 2019-09-05 浏览量:805
比如我现在要算存储器映像中的FLASH的大小,我查到其在存储器中高地址为0x0801 FFFF 然后我又查到了其低地址为0x0800 0000 ,我这样来计算FLASH的大小:
0x0801 FFFF +1=0x0802 0000,然后再用0x0802 0000减去低地址0x0800 0000=0x0002 0000化为十进制为131072,再除以1024=128kb
实际的大小就是128KB,说明计算正确
但是我在计算别的存储器, 比如说TIM1 高地址为0x4001 3000低地址为0x4001 2C00我让0x4001 3000+1=0x4001 3001,然后再减去0x4001 2C00=0x401换算成十进制为1025,除以1024=1点几,算出来的不能够被整除。
但是我不加一的话,算出来的刚好是1KB,
现在我就是疑惑在算寄存器大小的时候什么时候需要加一什么时候不需要加一,
菜鸟一枚,请各位大佬轻拍,如果能帮忙看看我这个问题,小弟感激不尽!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:1
  • 你前面所说的0x0801 FFFF这个地址应该不包括0x0801 FFFF,而是从0x0802 0000开始计算的,所以你需要加1,而后面的地址就包括了首地址,所以在计算的时候不需要加1

相关问题

问题达人换一批

STM32中算存储器大小的时候遇到的问题