什么叫 "纯软件+指示灯" 呢? 最近几天特忙,没时间上网。
纯软件是指单纯使用AVRSTUDIO做仿真,指示灯就是在空闲的端口放个LED,用它来指示程序的路径,程序调试完成后用作电源指示灯。
调试程序时先在AVRSTUDIO中将各个程序模块调通,然后利用AVR的在线烧写功能,在实际的电路板上直接调试软件,那实时性是绝对真实的。AVR可以烧写10000次,你愿意怎么做都可以。 "能做到在电脑模拟时,程序设计上的5秒,模拟出来就是5秒吗? "
或許用"超級電腦"可以吧. 调时间还是应该在自己的板子上试才可靠,windows平台提供的是软时钟,本来就不准,在这基础上开放的软仿真在这点上自然也就不准确。我觉得软仿真主要用来仿真算法逻辑的。 我认为时间仿真也是准的,和windows的时钟没有什么关系 时间是绝对准的,是指AVRSTUDIO指示的所仿真了的时间。
而不是电脑所运行的时间。
想来大家对所指的"时间"理解不正确。
电脑仿真另一个硬件是需要N倍于给该硬件所实际运行的时间。 armok的方式我试过,如果有延时的话,简直是不可仿真的。 jtag 仿真器仅仅比模拟仿真解决延时问题,那我.... 都在钻牛角尖。
如果你经常用软件仿真的话,你就会想到把延时改小或注释掉。
仿真永远只是仿真,烧片是唯一检验标准。 到底延时多少,是否准确,你看一下编译后的汇编文件就可以了。总的来说,软件仿真还是很方便的。 我是用软件加上串行口调试程序,在可能出现问题的地方放一个发送一个数的语句。如果放多个则每个点返回的数据不同,这样就可以跟据返回的数据判断出问题的原因了 我在刚学avr时也遇到armok 阿莫说的情况,但在用keil时没有这种状况. 如果有硬件仿真还是方便. 是的。在KEIL里仿真51核速度很快,不存在像avrstudio这样的问题。估计是avrstudio指令模拟部分没做好。消耗了太多的资源 HJJourAVR 说的对,时间应该看仿真统计里面的时间,而不是实际时间 看了大家的讨论,又学了一些东西,真的感谢大家,感谢这个网站! 学习了,但除了开发比较复杂的系统我才选用仿真器,简单的东东烧片验证验证就好用了 用proteus仿真 5秒就是5秒..楼主也不能说软件仿真就不准了.. 如果用了硬件仿真,就很不再愿意转变回软仿 和Keil一样,不过没有500秒这么严重。好像软件仿真都会这样。 kerrigan 你好
你是在南昌么? KEIL好多了,他会把时间缩短,比方说你要定时5S,但是可能1S就停下来了,但是在寄存器观察区里的运行时间是对的,我觉得这点很好,可以节约很多时间。而且你把晶振设正确的话,实际在硬件上运行的效果也是八九不离十的。 我用LPC2292时调程序就用JTAG,JTAG就是在芯片上条程序,也芯片上的程序什么时候跑,跑到哪儿停都有人来控制 . AVR_STUDIO软件仿真不行。太慢。
keil好多了。 AVR STUDIO确实很慢,我用microchip 的MPLAB也是很快的 要精确的得到延时时间,就是用硬件仿真话,尽管硬件系统基本按正常运行,但时间你还是无法精确得到的.
只能使用AVR STUDIO来确定一段延时程序精确的延时时间:软件模拟过程中,在调用前和返回时建立断点,运行代码后,记录下两个断点之间执行指令总的周期数的个数,然后乘上时钟周期,就是精确的延时时间了. 俺不懂汇编,如果要精确的得到延时时间,我会让一个IO口输出高低电平,用示波器看IO变化时间,可以调的很准 硬件仿真和学习系统板都是一个道理,商家用来方便学习的,或者是为了赚钱的工具。 这点没错我当初做红外协议和无线协议用keil仿真完后 都可以用 说明keil仿真的精度相当高
我都精确到us呢 顶起 楼上的2个字就挖到了一座古坟! 有过同样的经历,许久搞不懂,今天终于明白了! 我一般调延时都是用频率计或示波器调 我一般也是用示波器! 有条件硬件仿真肯定强,软件仿真有局限性。 mark 硬件仿真时候,左上角的cycle counter根本就不动。看不到一段程序用了多少个周期,失望中。
我是用汇编,DW仿真ATTINY2313或M48,苦于软件仿真的龟速才买了一个DRAGON。 昨天我也试验了,误差不是太大,区别肯定有 我试过好几次啊,还是挺准的, 楼上说的到底是怎么个准法啊 ji 俺用串口打印数据 看程序跑到哪了! 我也遇到了些仿真的问题 mark hyping 发表于 2004-11-28 14:27
调时间还是应该在自己的板子上试才可靠,windows平台提供的是软时钟,本来就不准,在这基础上开放的软仿真 ...
我也这么认为,(这已经是十年前的帖子了, 哎,知识不会随着时间变质!阿莫就是这样一个平台。)
页:
[1]