比如我现在要算存储器映像中的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,
现在我就是疑惑在算寄存器大小的时候什么时候需要加一什么时候不需要加一,
菜鸟一枚,请各位大佬轻拍,如果能帮忙看看我这个问题,小弟感激不尽!
|