比如我現在要算存儲器映像中的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,
現在我就是疑惑在算寄存器大小的時候什么時候需要加一什么時候不需要加一,
菜鳥一枚,請各位大佬輕拍,如果能幫忙看看我這個問題,小弟感激不盡!
|