最近用51单片机做个小项目,编写程序时,出现如下错误
MAIN.C(284): error C249: ‘PDATA‘: SEGMENT TOO LARGE
MAIN.C(284): error C249: ‘DATA‘: SEGMENT TOO LARGE
当时还不知道怎么回事,后来才发现51单片机的ram比较小,只有128b,所以要省着使用
当你定义数组不用更改时,就用uchar code XX[10]=
根据你数据的用处,你可以有以下几种选择:
data:直接寻址的片内RAM区低128B(00H~7FH)
bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问
idata:单片机间接访问的片内RAM区,允许访问全部片内RAM
pdata:Ri间接访问的片外RAM的低256B(00H~FFH)
xdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAM(0000H~FFFFH)
code:单片机的64KB程序存储区ROM
51学习笔记之关键词data、bdata、idata、pdata、xdata、code的含义
原文地址:http://www.cnblogs.com/dafang/p/3994373.html