原创 终于体会到 Jtag 仿真与纯 AVR Studio 软件仿真的区别

2008-10-31 17:11 5755 3 3 分类: MCU/ 嵌入式

http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=6362&bbs_page_no=2&sub_kind_id=2065&bbs_id=1000


以下一段代码:

void main(void) //主函数 
{  
  DDRB=0B00000011; //定义B口的PB0、PB1为输出口  
  PORTB=0B00000001; //PB0口输出高电平,PB1口输出低电平,绿灯亮  
  delay_nms(5000); //延时5秒  
  PORTB=0B00000010; //PB1口输出高电平,PB0口输出低电平,关闭绿灯,红灯亮  ......

我是使用 AVR studio (没用仿真器),用 auto step 执行:

一开始,PB0口输出高电平,PB1口输出低电平, 这都很正常 ------- 然后是5秒的延时 -----开始发现不能同步。从stop watch 的数值上看,电脑上的模拟执行,远远慢于C语言上的设计。估计这5秒,要执行500秒以上才能完成。

当然, auto step 方式,会严重阻碍同步。我改成 run + 手工break 的方式,仍发现不同步得很严重。

如果是这样的话,调试程序会很不方便啊。 能做到在电脑模拟时,程序设计上的5秒,模拟出来就是5秒吗?







我记得问了许久,始终没有得到答案。

现在我自己找到了答案:

如果使用  Jtag 仿真,时间上基本可以做到同步!!  但纯 AVR Studio 软件仿真就远远无法做到。所以,调试程序时,如果你是用纯 AVR Studio 软件仿真,请先将延时程序代码注释掉。

文章评论0条评论)

登录后参与讨论
我要评论
0
3
关闭 站长推荐上一条 /2 下一条