我是想问个问题的:关于EEPROM的读写。
main()
{ uchar EEP1,OUT;
EEP1=EEPRM_READ(0x00);
if(EEP1>2)
EEP1=0;
OUT=EEP1;
while(1)
{ ...
...
EEPRM_WRITE(0x01,OUT);
...
}
}
void EEPRM_WRITE(uchar adr,uchar data)
{ do
{
;
}while(WRERR!=0);
EEADR=adr;
EEDATA=data;
WREN=1;
EECON2=0x55;
EECON2=0xAA;
WR=1;
WREN=0;
}
uchar EEPRM_READ(uchar adr)
{ EEADR=adr;
RD=1;
return(EEDATA);
}
我这程序在我烧了进IC,未断电时很正常!
但在我进行断电,在接上电,也能显示在断电时的保存的数据,但当再执行到void write_in_eeprom(uchar write_add,uchar write_data)函数时,却一直在此循环,
do
{
;
}while(WRERR!=0);
死在了这里,出不来!
我想问,是什么原因造成的????烦请兄弟帮帮忙???万分感谢!!
|