打印
[PIC®/AVR®/dsPIC®产品]

FLSH PIC16LF1507程序运行时出错

[复制链接]
1095|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
WUZHIXIONG23|  楼主 | 2018-1-19 08:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void Erase_eeprom(void)//unsigned int FLASH_ADDR)
{
   PMADRL = 0x20; //
    PMADRH = 0x00; //
    CFGS = 0;
    FREE = 1;
    WREN = 1;//运行到这里程序停止运行

    PMCON2 = 0x55;
    PMCON2 = 0xAA;
    WR = 1;
    asm("NOP");
    asm("NOP");
//    while (WR == 1) {
//    }
    WREN = 0;
}
沙发
WUZHIXIONG23|  楼主 | 2018-1-19 08:54 | 只看该作者
关掉中断也不行

使用特权

评论回复
板凳
WUZHIXIONG23|  楼主 | 2018-1-19 12:17 | 只看该作者
是配置出了问题吗?

使用特权

评论回复
地板
GeekyGeek| | 2018-1-19 12:43 | 只看该作者
PMADRL = 0x20; //
    PMADRH = 0x00; //

地址是否有问题,0x0020你确定是EEPROM地址?

使用特权

评论回复
评论
WUZHIXIONG23 2018-1-19 17:19 回复TA
可能是地址有问题,但是地址我不懂怎么确认,可能擦除的时候破坏了程序 
5
WUZHIXIONG23|  楼主 | 2018-1-19 13:53 | 只看该作者
GeekyGeek 发表于 2018-1-19 12:43
PMADRL = 0x20; //
    PMADRH = 0x00; //

这段程序是FLSH的擦除,不是EEPROM.是用flsh代替EEPROM.

使用特权

评论回复
6
WUZHIXIONG23|  楼主 | 2018-1-19 14:18 | 只看该作者
GeekyGeek 发表于 2018-1-19 12:43
PMADRL = 0x20; //
    PMADRH = 0x00; //

我用1503的时候就没有问题。这个地址我觉得没问题

使用特权

评论回复
7
WUZHIXIONG23|  楼主 | 2018-1-20 09:16 | 只看该作者
地址要怎么确定?难道真是地址有问题?别的地方我找不到问题

使用特权

评论回复
8
WUZHIXIONG23|  楼主 | 2018-1-20 15:31 | 只看该作者
还没解决问题,也试过更换很多地址。结果还是一样,有没有大神知道怎么回事?

使用特权

评论回复
9
WUZHIXIONG23|  楼主 | 2018-1-20 15:31 | 只看该作者
还没解决问题,也试过更换很多地址。结果还是一样,有没有大神知道怎么回事?

使用特权

评论回复
10
GeekyGeek| | 2018-2-12 12:50 | 只看该作者
WUZHIXIONG23 发表于 2018-1-20 15:31
还没解决问题,也试过更换很多地址。结果还是一样,有没有大神知道怎么回事? ...

你需要查看datasheet, 了解这款芯片的memory map, 以及 NVM 读写。

还有你的描述不清晰, “有问题”,“程序运行时出错”。
什么问题,什么错误, 请描述清楚

使用特权

评论回复
11
13424173959| | 2018-4-23 09:38 | 只看该作者
GeekyGeek 发表于 2018-2-12 12:50
你需要查看datasheet, 了解这款芯片的memory map, 以及 NVM 读写。

还有你的描述不清晰, “有问题”, ...

PIC16LF1507 有支持的C编译器吗,什么版本, 我用picc9.8 ,不支持这个芯片.

使用特权

评论回复
12
GeekyGeek| | 2018-4-24 12:54 | 只看该作者
13424173959 发表于 2018-4-23 09:38
PIC16LF1507 有支持的C编译器吗,什么版本, 我用picc9.8 ,不支持这个芯片.

XC8, microchip 官网可以下载最新版本, 免费版本编译时没有优化,编译后的bin大小比付费版本大很多

使用特权

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

本版积分规则

70

主题

233

帖子

2

粉丝