pic16f689读写EEPROM时,想将地址等参数写入EEPROM,断电或者重写程序时再从EEPROM读取至,或者通过串口可以配置相应地址。但是问题来了,我在用
while(1)
{
writeEEPROM(0x03,0x02);//0x03表示地址,0x02表示写入的数据
delay(10);
d=readEEPROM(0x03);//读取地址0x03的数据,给d
}
运行结果:d=0x02
程序改成
while(1)
{
writeEEPROM(0x03,0x02);//0x03表示地址,0x02表示写入的数据
}
断电再上电,
然后下载程序
while(1)
{
d=readEEPROM(0x03);//读取地址0x03的数据,给d
}
运行,发现d=0xff。
我理解的是第一次写入,然后无论掉电还是重新下载程序,EEPROM的数据不变,在读取时应该能读回0x03对应的值0x02啊。但是结果不是这样。有谁帮我分析一下吗?因为我在C8051程序是这么个思路写的,没有什么问题。改成PIC没有调通。大侠们帮分析指导一下。谢谢
|