|
|
| | -文章搜索 - 最新文章 - | |
对AVR为什么会冲掉eeprom数据的最新“谬论” |
| 发布时间:2001年12月2日 点击次数:6522 |
| 来源: 作者: |
AVR芯片reset之前在干什么?不知你有没有做过试验或者观察过、想过? AVR的运行速度快是他的一项有竞争力的特点,留意它自身资料介绍的reset 过程,不难发现在产生reset信号之前他有一段时间是处于非正常工作状态的, 我们可以直观观察在下载程序的过程中,在写入与校对之间,下载线会短暂的 释放reset脚,在进入校对时又进入reset拉低状态,在这个短暂reset释放期 间,你的程序会胡乱执行一段,有时都不一样,但确实是在执行你的程序, 我编写的液晶显示的系统会发现下载过程中液晶屏上会显示黑条,而且是会走 动的,写完进入校对之前显示一段正常的内容,但是由于是程序乱飞所以显示 的数据大部分时候全是零,估计这段时间程序跑进了我的显示部分,在进入校 对方式时,屏幕又不动了。 如果你的硬件系统设计上没有认真对待他的reset部分的处理,则会在上电的过 程中,reset有效之前系统就会乱飞执行一段你不想执行的程序,例如写eeprom 由于没有完整的执行过程,所以写入eeprom的数据也将是随机的,写入的地址也 将是随机的,但是avr的上电初始状态基本上ram都等于零,因此就产生了 “零地址不能使用,不可靠”的说法,如果在执行这段写eeprom之前又进入过 其他程序,那么你的eeprom的任何地址都将是“不能使用”和“不可靠的”, 因为这个时候鬼知道它携带了什么参数才进入eeprom操作的呢?要知道短短的 数十微秒他就足可以破坏你的eeprom,而且是用了你自己编的程序去破坏你自己 的数据,够残忍吧?! |
|
|
|
|
[AVR单片机] 相关文章: 90s2313-10 可以运行在10Mhz以上吗?简介:
90s2313-10 可以运行在10Mhz以上吗? 少超一点大致上可以,例如用到12M 但是可能对稳定性有影响...... AVR8515看门狗晶振为1MHZ,复位间隔应为16us--2048us,为何为16--2048ms?
AVR8535的AD能这样用吗?
avr8535没有硬件对中断的sreg保护吗?是不是要在中断压栈sreg??谢谢!!
AVR写EEPROM要多长时间 |
|
|
|