[PIC®/AVR®/dsPIC®产品] pic18LF25K42 EEPROM程序

[复制链接]
599|16
 楼主| lizye 发表于 2022-12-8 19:58 | 显示全部楼层 |阅读模式
PIC18LF25K42芯片,采用MPLABX 的MCC找不到 EEPROM的资源,调用PIC18.H的EEPROM_READ(addr),EEPROM_WRITE(addr, value)采用XC8(1.45)编译不能通过,于是看数据手册自编 了EEPROM读写程序:
/*////////////////////////////////////////////////////////
函数名:unsigned char ReadEeprom(unsigned char address)
功        能: PIC18LF25K42   EEPROM读一字节数据 适用EEPROM小于等于256字节
输        入:        无
输        出:        返回  地址address的1字节数据
修        改:
*///////////////////////////////////////////////////////////
unsigned char ReadEeprom(unsigned char address)
{
    unsigned char temp;
    NVMCON1 = 0;
    NVMADRL = address;
    NVMCON1bits.RD = 1;
    temp = NVMDAT;
    return  temp;
}
/*///////////////////////////////////////////////////////
函数名:void WriteEeprom(unsigned char addr ,unsigned char Data)
功        能: PIC18LF25K42   EEPROM写一字节数据 适用EEPROM小于等于256字节
输        入:        addr EEPROM地址;addr EEPROM要写入的一个字节数据
输        出:        无
修        改:
*///////////////////////////////////////////////////////
void WriteEeprom(unsigned char addr ,unsigned char Data)
{
    NVMCON1 = 0;         // Setup Data EEPROM Access
    NVMADRL = addr ;     //Setup Address
                         //; Data Memory Value to write
    NVMDAT  =  Data;
    NVMCON1bits.WREN = 1; // enable writes
    INTERRUPT_GlobalInterruptDisable(); //disable interrupts

    NVMCON2 = 0x55; //unlock sequence
    NVMCON2 = 0xAA; //unlock sequence
// Set WR bit to begin write
    NVMCON1bits.WR = 1; //begin write
    INTERRUPT_GlobalInterruptEnable(); //enable interrupts
    NVMCON1bits.WREN = 0; // enable writes

}
llljh 发表于 2022-12-8 20:00 | 显示全部楼层
MCC支持该芯片产生EEPROM代码。
heweibig 发表于 2022-12-8 20:02 | 显示全部楼层
在MCC的“device resourece"里选memory就是
xxrs 发表于 2022-12-8 20:04 | 显示全部楼层
mcc应该能直接生成吧
zhanghqi 发表于 2022-12-8 20:06 | 显示全部楼层
其实, datasheet里面都有现成的代码..不用太迷信现成的代码这类的说法的...
chuxh 发表于 2022-12-8 20:08 | 显示全部楼层
字节写个读写的函数也很简单啊.
supernan 发表于 2022-12-8 20:09 | 显示全部楼层
这是读写内部eeprom?
mollylawrence 发表于 2023-1-5 12:20 | 显示全部楼层
现在存储芯片的价格越来越便宜了。
mmbs 发表于 2023-1-6 12:31 | 显示全部楼层
eeprom的资源也可以生成的吗?
sesefadou 发表于 2023-1-6 14:53 | 显示全部楼层
网上有很多的资料可以参考的。              
macpherson 发表于 2023-1-6 19:31 | 显示全部楼层
内部自带的eeprom的吗?              
51xlf 发表于 2023-1-7 11:23 | 显示全部楼层
iic的基本代码。              
benjaminka 发表于 2023-1-9 14:59 | 显示全部楼层
怎么才能写入pic内部的flash呢?
zerorobert 发表于 2023-1-10 21:19 | 显示全部楼层
感觉eeprom落后了好多了。              
tifmill 发表于 2023-1-12 14:04 | 显示全部楼层
读写EEPROM,是以前入门的基础程序。
tifmill 发表于 2023-1-12 20:53 | 显示全部楼层
谢谢楼主分享pic18LF25K42 EEPROM程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

9757

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部