原创 keil中关于使用_at_绝对地址定位问题

2009-5-6 19:21 2558 2 2 分类: MCU/ 嵌入式
在网上看到有人提到在keil中使用_at_进行绝对地址定位问题,我简单介绍一下它的用法。

 使用_at_关键字对存储器进行绝对地址定位程序如下


#i nclude<reg51.h>


char xdata LED_Data[50] _at_ 0x8000;


main()


{


   LED_Data[0] = 0x23;


}


在keil中运行以上程序可以在存储器窗口中输入 x:0x8000 可以看到0x8000地址中的值为0x23.


值得指出的几点是


1.在给变量LED_Data[50]定位绝对地址空间时,不能对其赋初值。


2.char xdata LED_Data[50] _at_ 0x8000;这条语句不能主函数中。有些网友提到在按着keil说明中用_at_进行绝对地址定位时,编译会出现错误274,就是将这条语句放在主函数中的原因。


3.keil中地址是自动分配的,所以除非特殊情况否则不提倡使用绝对地址定位。初学者因帖别注意。不要把c当作汇编使用。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条