请教各位C51高手
各位高手:
我在设计时遇到一个很奇怪的问题,即外部RAM(62256)不可以用下面的程序往里面写数据.而且观察窗口里面看外部数据不对:
unsigned char xdata *adr=0x0000;
void main()
{unsigned char dat;
unsigned char idata ts[10],test[10]={2,2,2,2,2,2,2,2,2,2}; int i=0;
for(;i <10;i++)
{*adr=test[i];adr++;}
adr=0x0000;
for(i=0;i <10;i++)
{ts[i]=*adr;adr++;} 这里读出来的的ts[10]={0,1,2,3,4,5,6,7,8,9}; 很奇怪!!!!!!
//test[1]=0x3f;
//dat=test[2];
}
如果用下面程序就可以写数,但是观察窗口(XDATA)里面的数据也不对,但是读出来又
是对的.
void main()
{unsigned char rd[3],test[3]={2,2,2};
unsigned char xdata dd[3];
dd[1]=test[1]; 观察口里面dd[3]={0,1,2}///不对
rd[0]=dd[1]; 观察口里面rd[0]=2; ///对
}
这样读出来rd[0]=2;
大家给我看看这是怎么回事,以前好象没有遇到过这种问题.
发表时间:2004年4月2日10:37:50