打印

【CuriosityNano评测报告】关于PIC18FX7Q43 的 flash 和eeprom写入

[复制链接]
2295|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在MPLAB中选中MCC中的memory选项,生成代码,即可方便的使用API来写入掉电保存的数据

在mcc生成的memory.h头文件中也可以方便的看到各种常用的API

使用特权

评论回复
沙发
AINZGOWN|  楼主 | 2021-8-11 15:28 | 只看该作者
本帖最后由 AINZGOWN 于 2021-8-11 16:48 编辑


非常的直观,前两项为EEPROM的写入读取,后面的则是FLASH的字节,字,块等写入读取
根据官方datasheet中的地址表可以完成指定地址的数据写入,需要注意的是MCC生成的API中,EEPROM使用的是偏移地址,FLASH是真实地址

可以看到EEPROM中地址偏移了0x380000

FLASH则没有

我们在MAIN函数中进行测试并debug看看效果
void main(void)
{
    // Initialize the device
    SYSTEM_Initialize();

    FLASH_WriteWord(0x1FF00,0x55AA);     //在0x1FF00写入0x55AA数据
    DATAEE_WriteByte(0x0001,0xbb);         //在0x380001写入0xbb数据
    uint8_t value;
    uint16_t flash_value;
    value=DATAEE_ReadByte(0x0001);       //读取数据并赋值
    flash_value=FLASH_ReadWord(0x1FF00);
    while (1)
    {
        // Add your application code
        printf("%o\n",value);
        printf("%x\n",flash_value);
        __delay_ms(1000);
    }
}

再观察两个变量的值,可以发现已经正常读取,eeprom的值前面还会显示ASCII码表对应的符号

使用特权

评论回复
板凳
zljiu| | 2021-9-6 10:47 | 只看该作者
介绍的很详细 感谢楼主分享哈

使用特权

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

本版积分规则

7

主题

70

帖子

1

粉丝