|
AVR 马哥8 EEPROM为什么总是读写不正确
[复制链接]
本人之前一直是用80C51FXX单片机,最近工作需要改用AVR 但是很多地方都让我没有搞懂,最郁闷就是EEPROM,我按照DATASHEET 的例程写的程序。不知道为何读取出来EEPROM的值都是0xff,小弟这里求教高手!如何解决这个问题!一下是代码:
void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
{
/* 等待上一次写操作结束 */
while(EECR & (1<
;
/* 设置地址和数据寄存器*/
EEAR = uiAddress;
EEDR = ucData;
/* 置位EEMWE */
EECR |= (1<
/* 置位EEWE 以启动写操作*/
EECR |= (1<
}
unsigned char EEPROM_read(unsigned int uiAddress)
{
/* 等待上一次写操作结束 */
while(EECR & (1<
;
/* 设置地址寄存器*/
EEAR = uiAddress;
/* 设置EERE 以启动读操作*/
EECR |= (1<
/* 自数据寄存器返回数据 */
return EEDR;
}
int main(void)
{
uchar key_data;
mcu_init();
T0_init();
EEPROM_write(8,0xaa);
EEPROM_write(03,0x55);
disp_value = EEPROM_read(05);
}
|
|