奇怪中:为什么用仿真器单步执行正确,连续执行就不对?

[复制链接]
 楼主| hubo450 发表于 2007-1-12 18:17 | 显示全部楼层 |阅读模式
   我用仿真器调试把数据保存在AT24C256的程序,往往是存不进去,单步执行就能够保存成功,连续执行就不行,奇怪的很。请高手指点一二,谢谢
hotpower 发表于 2007-1-12 19:07 | 显示全部楼层

这是经常发生的事情,在有些地方降速(加nop)即可搞定~~~

  
 楼主| hubo450 发表于 2007-1-12 22:10 | 显示全部楼层

多谢,请问和用IO口产生的时钟信号的电平保持时间有关么?

看DataSheet上是不到1us,我使用了100us和500us不过都是有时候行有时候不行。
hotpower 发表于 2007-1-13 09:08 | 显示全部楼层

关键是加的位置

因为在debug下,相当于认为地加nop,而且有的仿真器在debug下要占些系统资源.<br />故要比实际裸奔是要慢.<br /><br />
tyw 发表于 2007-1-14 12:48 | 显示全部楼层

EEPROM的写入周期是ms级的,读出才是ns级的

每写入一个字节必需延时1~10ms才能写入第二个字节,这就是单步能写,连续执行就不对的原因!<br />具体几ms根据实际情况定,不同厂家,不同电压有差异的,一般取5ms够了,若有总的写入时间要求,可逐步减少ms数试.<br />cpu若很空,可用软件延时,否则用定时中断计数延时.<br />&nbsp;<br />&nbsp;<br /><img src="http://bbs.21ic.com/upfiles/img/20071/2007114124443418.gif">
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

39

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

12

主题

39

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部