打印

16f1933操作内部eeprom问题

[复制链接]
4428|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
100|  楼主 | 2012-12-21 10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用KIT3,调试烧写时提示:Programming...
The following memory regions failed to program correctly:
EEData Memory
Address: 0000000b Expected Value: 00000055 Received Value: 00000000
Programming failed;
是什么原因?
程序如下:
#include <pic.h>
#include <htc.h>
__EEPROM_DATA(0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07);
__EEPROM_DATA(0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F);

void main (void)
{

unsigned char data=0x0b;
unsigned char address = 0x0b;

data=eeprom_read(address);
eeprom_write(address,data);

while(1);

}
沙发
esd_access| | 2012-12-21 13:32 | 只看该作者
一般是。PGC。PGD。VPP管脚上有外接元件引起的。方便把电路贴上来,帮你分析一下

使用特权

评论回复
板凳
100|  楼主 | 2012-12-21 14:03 | 只看该作者
没有元件,只是电源用的是KIT3产生的电源

使用特权

评论回复
地板
esd_access| | 2012-12-21 15:02 | 只看该作者
在烧写时,把电压设置5V,在烧写应该就没有问题,在3V经常会出现你这个情况,特别是想12f629多次烧写后。

使用特权

评论回复
5
100|  楼主 | 2012-12-21 16:21 | 只看该作者
就是设置的5V

使用特权

评论回复
6
madboy21| | 2013-2-3 22:34 | 只看该作者
你好!我现也遇到这个问题,以前用过没有这样问题出现。会不会跟编译器有关?以前用IDE8.5 PICC,现在用8.86+XC8V1.01

使用特权

评论回复
7
madboy21| | 2013-2-3 23:29 | 只看该作者
TMD 找了半小时才找到这贴。从PIC单片机里找来的,难道就不能有个我回复过的贴子?还是我不会操作。
现在用一个测试程序,编程正常。说明跟程序有关,具体原因,等我找到回来补上。

使用特权

评论回复
8
madboy21| | 2013-2-4 00:03 | 只看该作者
又来了
应该是编译器或MPLAB有问题。

eeprom unsigned char i;
unsigned char j;
//

//错误
i=6;
//正确
j=6;
i=j;

使用特权

评论回复
9
madboy21| | 2013-2-4 00:33 | 只看该作者
上面还不是真正原因,因为在测试时用j=0来测试。
操作EEPROM约需要2mS时间,写入0需小于1mS时间,产生错误的原因是操作EEPROM时超时复位了。
所以正确的办法是:
1,WDT采用较长的时间(大于4mS)
2,关闭WDT。

使用特权

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

本版积分规则

100

19

主题

41

帖子

0

粉丝