新闻  |   论坛  |   博客  |   在线研讨会
我对AVR为什么会冲掉eeprom数据的最新“谬论”
zhchxgh | 2009-07-04 01:08:37    阅读:1381   发布文章

我对AVR为什么会冲掉eeprom数据的最新“谬论”
晓奇

    AVR芯片reset之前在干什么?不知你有没有做过试验或者观察过、想过?AVR的运行速度快是他的一项有竞争力的特点,留意它自身资料介绍的reset过程,不难发现在产生reset信号之前他有一段时间是处于非正常工作状态的,我们可以直观观察在下载程序的过程中,在写入与校对之间,下载线会短暂的释放reset脚,在进入校对时又进入reset拉低状态,在这个短暂reset释放期间,你的程序会胡乱执行一段,有时都不一样,但确实是在执行你的程序,我编写的液晶显示的系统会发现下载过程中液晶屏上会显示黑条,而且是会走动的,写完进入校对之前显示一段正常的内容,但是由于是程序乱飞所以显示的数据大部分时候全是零,估计这段时间程序跑进了我的显示部分,在进入校对方式时,屏幕又不动了。
    如果你的硬件系统设计上没有认真对待他的reset部分的处理,则会在上电的过程中,reset有效之前系统就会乱飞执行一段你不想执行的程序,例如写eeprom由于没有完整的执行过程,所以写入eeprom的数据也将是随机的,写入的地址也将是随机的,但是avr的上电初始状态基本上ram都等于零,因此就产生了“零地址不能使用,不可靠”的说法,如果在执行这段写eeprom之前又进入过
其他程序,那么你的eeprom的任何地址都将是“不能使用”和“不可靠的”,因为这个时候鬼知道它携带了什么参数才进入eeprom操作的呢?要知道短短的数十微秒他就足可以破坏你的eeprom,而且是用了你自己编的程序去破坏你自己的数据,够残忍吧?!

欢迎大家到晓奇的网站讨论问题(帝国老手)www.xiao-qi.com

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客