位置:首页 > IC型号导航 > 首字符A型号页 > 首字符A的型号第372页 > ATMEGA2560-16AU > ATMEGA2560-16AU PDF资料 > ATMEGA2560-16AU PDF资料3第24页

下面的代码示例说明如何用汇编和C函数来读取EEPROM 。该
示例假定中断控制,不会发生中断时
执行这些功能。
汇编代码例程
(1)
EEPROM_read :
;等待上一次写操作结束
SBIC
EECR , EEPE
RJMP
EEPROM_READ
;设置地址( R18 : R17 )的地址寄存器
OUT
OUT
SBI
in
RET
EEARH , R18
EEARL , R17
EECR , EERE
r16,EEDR
;开始设置EERE以阅读
;读取数据寄存器数据
C代码示例
(1)
无符号字符型
EEPROM_read (无符号
INT
uiAddress )
{
/ *等待上一次写操作结束* /
而( EECR & ( 1<<EEPE ) )
;
/ *设置地址寄存器* /
EEAR = uiAddress ;
/*
启动EEPROM写读EERE * /
EECR | = ( 1<<EERE ) ;
/ *从数据寄存器返回数据* /
返回EEDR ;
}
注意:
1.请参阅“关于代码示例”第9页。
防止EEPROM
腐败
在低V的时期
CC,
EEPROM中的数据可以被破坏,因为电源电压
年龄过低,CPU和正确操作的EEPROM中。这些问题都是
一样使用独立的EEPROM器件的系统,同样的设计方案应该
被应用。
一个EEPROM数据损坏有两种情况引起,当电压过高
低。首先,常规的写序列到EEPROM需要一个最小的电压,以
正确操作。其次, CPU本身可以当执行指令不正确,
电源电压过低。
EEPROM数据损坏的问题可以通过以下方法解决
建议:
在保持电源电压不足期间AVR RESET信号(低) 。
这可以通过使能芯片的掉电检测( BOD)来完成。如果检测
内部董事会层面没有必要的检测水平相匹配,外部低
V
CC
重置保护电路都可以使用。如果发生了复位,而写操作是
进展,写操作将被完成的条件是电源电压是
足够了。
24
ATmega640/1280/1281/2560/2561
2549K–AVR–01/07