一 AVR存储类型 不要外挂方便使用
1.FLASH 存储程序代码
2.EEPROM 运行的数据掉电不丢失的 数据存储 分页的数据
3.SRAM 运行的临时数据
EEPROM:读写以字节为单位 通过专用指令或SPI、JTAG直接读写
使用RC震荡作为时钟,典型值为8.5ms
有时数据丢失的原因:刚上电电压不稳就操作、读写时被中断打断、程序跑飞了
怎样预防:
熔丝位的电压检测设置:低于电压就停止
熔丝位系统时钟的设置:设置上电暂停时间长一点
双字节存储,或加校验位
操作时尽量关中断
二 相关寄存器
存储器 需要数据和地址来操作 以及相应的控制寄存器
地址寄存器 EEARH EEARL
数据寄存器 EEDR
控制寄存器 EECR
* ** * EERIE EEMWE EEWE EERE
以一个实例示范下即可
如何高可靠地防止EEPROM数据被修改?
1、采用“EEPROM就绪中断”非常可靠
2、下载时,开启BOOD功能
3、门限电压=4.1V
上述方法,我已经使用了四年了,没有出现过任何问题。
期间采用极端的测试方法:反复上电,反复断开,总计测试了大概5000次,没有出现过任何问题。
1、写EEPROM的时候最好把全局中断关闭
2、读写EEPROM的时候注意不要让看门狗复位
3、一定要打开BOD