PIC18f4321单片机 内部EEPROM只能写一个地址,断电不保存

2020-02-06 10:02发布

void  WR_EEP(uchar  addr,uchar  dat)
{
                EEADR = addr;
                EEDATA = dat;
                EEPGD = 0;
                CFGS = 0;
                WREN = 1;
                GIE = 0;
                EECON2 = 0x55;
                EECON2 = 0xAA;
                WR = 1;
                while(WR);
                GIE = 1;
                WREN = 0;
}

uchar  RD_EEP(uchar  addr)
{
                EEADR = addr;
                EEPGD = 0;
                CFGS = 0;
                RD = 1;
                return  EEDATA;
}

WR__EEP(0,10);
val = RD_EEP(0);
可以读出来10;
//WR__EEP(0,10);
val = RD_EEP(0);
断电后,读出来是0.不解啊。
仿真结果竟然EECON2写不进去。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
duxingkei
2020-02-06 13:23
本帖最后由 duxingkei 于 2016-9-22 15:45 编辑
zlxd1990 发表于 2016-9-22 14:15
楼主,我也遇到这个情况了EECON2写不进去,请问怎么解决的


直接先用库函数试试再说啊,
C编译自带的库函数应该有这方面的操作吧,自己找找帮助手册



2.jpg (247.01 KB, 下载次数: 0)

下载附件

2016-9-22 15:45 上传

一周热门 更多>