第46节:利用AT24C02进行掉电后的数据保存
时间:11-22
来源:互联网
点击:
- 据的方法。在使用EEPROM时,这一步初始化很关键!
- * 第一次上电时,我们从EEPROM读取出来的数据有可能超出了范围,可能是ff。
- * 这个时候我们应该给它填入一个初始化的数据,这一步千万别漏了。另外,
- * 由于int类型数据占用2个字节,所以以下4个数据挨着的地址是0,2,4,6.
- */
- uiSetData1=read_eeprom_int(0);//读取uiSetData1,内部占用2个字节地址
- if(uiSetData1>9999) //不在范围内
- {
- uiSetData1=0; //填入一个初始化数据
- write_eeprom_int(0,uiSetData1); //存入uiSetData1,内部占用2个字节地址
- }
- uiSetData2=read_eeprom_int(2);//读取uiSetData2,内部占用2个字节地址
- if(uiSetData2>9999)//不在范围内
- {
- uiSetData2=0;//填入一个初始化数据
- write_eeprom_int(2,uiSetData2); //存入uiSetData2,内部占用2个字节地址
- }
- uiSetData3=read_eeprom_int(4);//读取uiSetData3,内部占用2个字节地址
- if(uiSetData3>9999)//不在范围内
- {
- uiSetData3=0;//填入一个初始化数据
- write_eeprom_int(4,uiSetData3); //存入uiSetData3,内部占用2个字节地址
- }
- uiSetData4=read_eeprom_int(6);//读取uiSetData4,内部占用2个字节地址
- if(uiSetData4>9999)//不在范围内
- {
- uiSetData4=0;//填入一个初始化数据
- write_eeprom_int(6,uiSetData4); //存入uiSetData4,内部占用2个字节地址
- }
- }
总结陈词:
IIC通讯过程是一个要求一气呵成的通讯过程,中间不能被其它中断影响时序出错,因此,在整个通讯过程中应该先关闭总中断,完成之后再开中断。但是,这样就会引起另外一个新问题,如果关闭总中断的时间太长,会导致动态数码管不能及时均匀的扫描,在按键更改参数,内部操作EEPROM时,数码管就会出现短暂明显的闪烁现象,解决这个问题最好的办法就是在做项目中尽量不要用动态扫描数码管的方案,应该用静态显示的方案。那么在程序上还有没有改善这种现象的方法?当然有。欲知详情,请听下回分解-----操作AT24C02时,利用“一气呵成的定时器方式”改善数码管的闪烁现象。
AT24C02掉电数据保 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
