
ATtiny88汽车
下面的代码示例说明如何用汇编和C函数来读取EEPROM 。在应试
普莱斯假设中断被控制,使得中断不会发生的执行过程中
这些功能。
汇编代码例程
EEPROM_read :
;等待上一次写操作结束
SBIC
EECR , EEPE
RJMP
EEPROM_READ
;设置地址( R17 )的地址寄存器
OUT
EEARL , R17
;开始设置EERE以阅读
SBI
EECR , EERE
;读取数据寄存器数据
in
RET
r16,EEDR
C代码示例
无符号字符型
EEPROM_read (无符号
INT
uiAddress )
{
/ *等待上一次写操作结束* /
而( EECR & ( 1<<EEPE ) )
;
/ *设置地址寄存器* /
EEAR = uiAddress ;
/*
启动EEPROM写读EERE * /
EECR | = ( 1<<EERE ) ;
/ *从数据寄存器返回数据* /
返回EEDR ;
}
5.3.6
防止EEPROM腐败
在低V的时期
CC
在EEPROM中的数据可能被破坏,因为在电源电压过
低的CPU和正确操作的EEPROM中。这些问题都是一样的板
利用水平系统EEPROM中,并且在同一设计方案应该被应用。
一个EEPROM数据损坏有两种情况下都导致当电压过低。首先,
一个常规的写序列到EEPROM需要一个最小的电压,以正常工作。节
ondly , CPU本身能够执行指令的错误,如果电源电压过低。
EEPROM数据损坏的问题可以通过在近郊保持RESET有效(低电平)
电源电压不足的消耗臭氧层物质。这可以通过使能芯片的掉电检测完成
检测器( BOD ) 。如果BOD的检测电平不匹配,需要检测
水平,外部低V
CC
复位保护电路都可以使用。如果发生了复位,而写
操作正在进行时,写操作将被完成的条件是该电源
电压是足够的。
21
9157B–AVR–01/10