导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→硬件:请教51电路板调试

* 12195: 硬件:请教51电路板调试

   qjlsy 
qjlsy发表的帖子 

 硬件:请教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

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  12202.[详细]希望老古先生和各位前辈能帮我看一下这个问题.谢谢!
摘要:......(无内容)
- [qjlsy][1233次] 2002年10月11日

  12217.[详细]重新做延时,问题解决,但不明白为什么同样的读写(对相同芯片相同电路)会有不同的时序?..
摘要:我又重新做了一次延时  a=addr0; for(i=0;i<10;i++){;} b=addr1; for(i=0;i<10;i++){;} c=addr2;&nbs......(230字)
- [qjlsy][1067次] 2002年10月11日

[上一篇帖子]:要设置网卡的io为240h,见:<a href=http://www.laogu.c
[下一篇帖子]:这种情况应该是4066烧坏,建议自己换一个4066