打印

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

[复制链接]
3470|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hubo450|  楼主 | 2007-1-12 18:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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下要占些系统资源.
故要比实际裸奔是要慢.

使用特权

评论回复
5
tyw| | 2007-1-14 12:48 | 只看该作者

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

每写入一个字节必需延时1~10ms才能写入第二个字节,这就是单步能写,连续执行就不对的原因!
具体几ms根据实际情况定,不同厂家,不同电压有差异的,一般取5ms够了,若有总的写入时间要求,可逐步减少ms数试.
cpu若很空,可用软件延时,否则用定时中断计数延时.
 
 

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

39

帖子

1

粉丝