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

来源:   作者:  2001年12月2日
导读:
关键字:
作者:晓奇

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

相关阅读

  • 全部
下一个:关于自制mon51目标板  
上一个:信息时代的模拟集成电路