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

[复制链接]
2529|2
 楼主| AINZGOWN 发表于 2021-8-11 15:27 | 显示全部楼层 |阅读模式
在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看看效果
  1. void main(void)
  2. {
  3.     // Initialize the device
  4.     SYSTEM_Initialize();

  5.     FLASH_WriteWord(0x1FF00,0x55AA);     //在0x1FF00写入0x55AA数据
  6.     DATAEE_WriteByte(0x0001,0xbb);         //在0x380001写入0xbb数据
  7.     uint8_t value;
  8.     uint16_t flash_value;
  9.     value=DATAEE_ReadByte(0x0001);       //读取数据并赋值
  10.     flash_value=FLASH_ReadWord(0x1FF00);
  11.     while (1)
  12.     {
  13.         // Add your application code
  14.         printf("%o\n",value);
  15.         printf("%x\n",flash_value);
  16.         __delay_ms(1000);
  17.     }
  18. }

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
zljiu 发表于 2021-9-6 10:47 | 显示全部楼层
介绍的很详细 感谢楼主分享哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

70

帖子

1

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