[技术问答] HC32F005怎么实现EEPROM功能?

[复制链接]
 楼主| itv1860 发表于 2019-5-25 14:25 | 显示全部楼层 |阅读模式
如题,话说,他能实现吗
 楼主| itv1860 发表于 2019-5-25 14:27 | 显示全部楼层
国产的单片机为什么网上资料这么少
martinhu 发表于 2019-5-25 18:16 | 显示全部楼层
通过Flash模拟
smartpower 发表于 2019-5-26 14:16 | 显示全部楼层
工程及使用说明,详见附件。

◆ 通过软件算法使用片内 FLASH 存储器实现可配置大小的 EE 存储区,默认为 32 字节。
◆ EE 存储区(32 字节)的数据擦写次数不少于 600 万次。
◆ EE 存储区写入操作为原子操作,写数据时断电不会造成数据混乱。
◆ 用户只需要调用相应的读写函数即可实现对 EE 存储区数据的读取与写入。
◆ 快速备份区(32 字节)适用于即将掉电时快速保存运行参数,仅需 1.2ms 即可保存 32 字节。
◆ 默认使用的数据存储区为 4 个 Flash Page,即 2K 字节。
◆ 不使用快速备份区时,软件算法占用的 ROM 区为 876 字节(IAR 最高优化)。
◆ 使用快速备份区时,软件算法占用的 ROM 区为 1228 字节(IAR 最高优化)。

HDEE5 Demo.zip

88.72 KB, 下载次数: 249

HDEE5使用说明.pdf

145.8 KB, 下载次数: 131

评论

学到了,谢谢!  发表于 2019-5-26 15:14
学到,谢谢!  发表于 2019-5-26 15:14
smartpower 发表于 2019-5-26 14:19 | 显示全部楼层
EE 存储区使用方法
3.1 在项目工程中添加 HDEE5.C 文件。
3.2 在程序的初始化阶段调用 HDEE_Ini 函数。
3.3 使用 HDEE_Read 函数读取 EE 存储区内的数据。
3.4 使用 HDEE_Write 函数将数据写入到 EE 存储区。
注意:在调用 HDEE_Ini 及 HDEE_Write 函数前请将系统时钟切换为 4MHz,调用完成后再将系统时钟切换为
应用所需要的频率
smartpower 发表于 2019-5-26 14:20 | 显示全部楼层
函数说明
5.1 EE 存储区初始化函数
原型:void HDEE_Ini( void );
功能:初始化 EE 相关的数据存储区域。
参数:无。
条件:需要用户将系统时钟切换为 4MHz。
5.2 EE 存储区读取函数
原型:uint8_t HDEE_Read( uint8_t EeAddr, uint8_t *pRdBuf , uint8_t RdCnt );
功能:按参数要求读取 EE 内的数据。
参数:EeAddr – 待读取的数据位于 EE 内的地址,范围为 0-31。
pRdBuf – 读到的数据的存储指针。
RdCnt – 需要读取的数据的字节数。
返回:返回非 0 代表成功读取数据,返回 0 代表读取数据失败。
5.3 EE 存储区存储函数
原型:uint8_t HDEE_Write( uint8_t EeAddr, uint8_t *pWrBuf , uint8_t WrCnt );
功能:按参数要求将数据存储到 EE。
参数:EeAddr – 待存储的数据位于 EE 内的目标地址,范围为 0-31。
pWrBuf – 待存储的数据的指针。
WrCnt – 待存储的数据的字节数。
返回:返回非 0 代表成存储数据,返回 0 代表存储数据失败。
条件:需要用户将系统时钟切换为 4MHz。





您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

55

帖子

0

粉丝
快速回复 返回顶部 返回列表