2025-11-08 05:49:32
单片机里的偏移量就像找东西的标记牌,比如你有个盒子装了100个零件,每个零件编号从1到100。偏移量就是告诉你在盒子外头写哪个数字就能找到对应的零件。比如要找第50个零件,偏移量就是50,实际位置就是盒子最左边的起点加50格。这跟单片机内存地址一个道理,基地址是起点,偏移量是具体位置差。
为什么得用基地址加偏移量呢?因为单片机内存有固定区域划分,比如代码区从0000H开始,数据区从2000H开始。假设代码区基地址是0000H,要找"MOV A, 55"这条指令,它的偏移量是0020H。实际地址就是0000H+0020H=0020H。就像你书桌抽屉分三层,基地址是抽屉编号,偏移量是层内格数。不同型号单片机基地址可能不同,比如8051是0000H,STM32F103的是0x08000000,但计算方式都一样。比如STM32找"SystemInit"函数,基地址0x08000000,偏移量0x00800000,实际地址就是0x10000000。这就是为什么偏移量计算必须结合具体型号的基地址,不能随便用。
本题链接: