keil中關(guān)于使用_at_絕對地址定位問題
使用_at_關(guān)鍵字對存儲器進(jìn)行絕對地址定位程序如下
#i nclude
char xdata LED_Data[50] _at_ 0x8000;
main()
{
LED_Data[0] = 0x23;
}
在keil中運(yùn)行以上程序可以在存儲器窗口中輸入 x:0x8000 可以看到0x8000地址中的值為0x23.
值得指出的幾點(diǎn)是
1.在給變量LED_Data[50]定位絕對地址空間時(shí),不能對其賦初值。
2.char xdata LED_Data[50] _at_ 0x8000;這條語句不能主函數(shù)中。有些網(wǎng)友提到在按著keil說明中用_at_進(jìn)行絕對地址定位時(shí),編譯會出現(xiàn)錯(cuò)誤274,就是將這條語句放在主函數(shù) 中的原因。
3.keil中地址是自動分配的,所以除非特殊情況否則不提倡使用絕對地址定位。初學(xué)者因帖別注意。不要把c當(dāng)作匯編使用。
評論