硬件:请教51电路板调试
在调板子的51单片机部分,遇到一个很怪的问题(addr0-2依次为外部存储器0x4000-0x4002单
元)
a=addr0;
b=addr1;
c=addr2;
可以读出3个数据
addr0++;
addr1++;
addr2++;
a=addr0;
b=addr1;
c=addr2;
可以写3个数据
a=addr0; 可以读出数据
b=addr1; 读出数据始终为0
c=addr2; 读出数据始终为0
addr0++;
addr1++;
addr2++;
a=addr0; 可以读出正确的addr0+1后的数据
b=addr1; 可以读出正确的addr1+1后的数据
c=addr2; 可以读出正确的addr2+1后的数据
a=addr0; 可以读出数据
b=addr1; 读出数据始终为0
c=addr2; 读出数据始终为0
a=addr0; 可以读出正确的addr0数据
b=addr1; 可以读出正确的addr1数据
c=addr2; 可以读出正确的addr2数据
怀疑时序问题,可改后发现
a=addr0; 可以读出数据
i=0;
b=addr1; 可以读出数据
i=0;
i=1;
c=addr2; 读出数据始终为0
i=0;
addr0++;
addr1++;
addr2++;
a=addr0; 可以读出正确的addr0+1后的数据
b=addr1; 可以读出正确的addr1+1后的数据
c=addr2; 可以读出正确的addr2+1后的数据
好像不能连续读,一旦发现后面有连续读,就只能读出第一个数据,这是怎么回事?是板子的问
题,还是程序的问题?如何解决?还请各位高手和前辈多多指教!
谢谢!
发表时间:2002年10月11日11:30:00