打印

PIC16F689读写EEPROM问题

[复制链接]
579|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangzsa|  楼主 | 2019-12-18 23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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。

使用特权

评论回复
沙发
wenfen| | 2019-12-18 23:17 | 只看该作者

然后呢?你是怎么应对这个的呢        

使用特权

评论回复
板凳
wangzsa|  楼主 | 2019-12-18 23:20 | 只看该作者
我理解的是第一次写入,然后无论掉电还是重新下载程序,EEPROM的数据不变,在读取时应该能读回0x03对应的值0x02啊

使用特权

评论回复
地板
wyjie| | 2019-12-18 23:26 | 只看该作者

什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
5
wangzsa|  楼主 | 2019-12-18 23:30 | 只看该作者
但是结果不是这样。有谁帮我分析一下吗?因为我在C8051程序是这么个思路写的,没有什么问题。改成PIC没有调通。大侠们帮分析指导一下。

使用特权

评论回复
6
pengf| | 2019-12-18 23:36 | 只看该作者
写EEPROM,需要放到while(1)中一直写??????

使用特权

评论回复
7
wangzsa|  楼主 | 2019-12-18 23:38 | 只看该作者
有时会需要啊,会改变EEPROM的值啊?主要是怎么判断写没写进去

使用特权

评论回复
8
yinxiangh| | 2019-12-18 23:45 | 只看该作者

你这种写法,EEPROM估计用不久

使用特权

评论回复
9
wangzsa|  楼主 | 2019-12-18 23:47 | 只看该作者
我只是实验一下,实际用不是这样的。回答一下我的问题呗。。。。

使用特权

评论回复
10
hanwe| | 2019-12-18 23:51 | 只看该作者
不考虑过这个实验有没有可能有问题?

使用特权

评论回复
11
wangzsa|  楼主 | 2019-12-18 23:54 | 只看该作者
知道怎么回事了,楼上说的那样,在while中写是对EEPROM不利的。

使用特权

评论回复
12
huwr| | 2019-12-18 23:57 | 只看该作者
这么写理论上是没毛病的

使用特权

评论回复
13
wangzsa|  楼主 | 2019-12-19 21:08 | 只看该作者
没有掉电丢失,是我在下载程序时每次都擦除了代码导致把EEPROM也擦除了

使用特权

评论回复
14
yufe| | 2019-12-19 21:11 | 只看该作者
所以调整配置就好了?

使用特权

评论回复
15
wangzsa|  楼主 | 2019-12-19 21:15 | 只看该作者
嗯,此处调整配置位和设置下载PICKIT3配置

使用特权

评论回复
16
asdsfgwsafd| | 2019-12-20 09:03 | 只看该作者
写EEPROM的时候掉电了?

使用特权

评论回复
17
asdsfgwsafd| | 2019-12-20 09:05 | 只看该作者
地址0x03感觉不太对,你确定你程序空间没用到这?

使用特权

评论回复
18
Xanxurs| | 2019-12-20 14:06 | 只看该作者
asdsfgwsafd 发表于 2019-12-20 09:05
地址0x03感觉不太对,你确定你程序空间没用到这?

eeprom空间跟flash空间独立开的,写0x03没问题

使用特权

评论回复
19
kavent| | 2019-12-25 21:54 | 只看该作者
这个while循环可能有些问题,一般没有人这么干吧!你复位的时候,可能是正在写入的过程中呢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

914

主题

9040

帖子

5

粉丝