华大HC32F460——将数据保存在Flash特定扇区
FLASH具有以下主要特性容量高达512 KBytes(其中有32Bytes为功能保留位) 分为64个扇区每个扇区为8KBytes。OTP(One Time Program)区域共1020Bytes分为960Bytes的数据区和60Bytes 的锁存区。128位宽数据读取。编程单位为4Bytes擦除单位为8KBytes。在512KB产品中FLASH地址结构如下图所示。注意 - 扇区63 中地址 0x0007_FFE0~0x0007_FFFF 共 32Bytes 为功能保留地址对这 32Bytes地址进行编程、扇区擦除、全擦除FLASH数据不会改变对这些地址读读到 数据为全1。在256KB产品中FLASH地址结构如下图所示。代码采用官方数据库案例EFM扇区擦除单编程单编程回读。需要开启LL_EFM_ENABLE——DDL_ON修改后代码如下注释/* 读取Flash中保存的压力补偿值 */ int EFM_ReadValue(void) { /* 为某些必需的外围设备注册写启用 */ LL_PERIPH_WE(EXAMPLE_PERIPH_WE); /* 等待Flash就绪 */ while (SET ! EFM_GetStatus(EFM_FLAG_RDY)); /* EFM_FWMC写入启用 */ EFM_FWMC_Cmd(ENABLE); /* 扇区13区范围0x00018000 ~ 0x00019FFF */ u32Addr EFM_SECTOR_ADDR(EFM_SECTOR13_NUM); EFM_ReadByte(u32Addr, (uint8_t *)u32ReadData1, sizeof(PressData)); /* EFM_FWMC写入禁用 */ EFM_FWMC_Cmd(DISABLE); usb_printf(Press Com_value : %d pa\r\n, u32ReadData1); return (int)u32ReadData1; } /* 读取Flash中保存的占空比 */ int EFM_ReadRatio(void) { /* 为某些必需的外围设备注册写启用 */ LL_PERIPH_WE(EXAMPLE_PERIPH_WE); /* 等待Flash就绪 */ while (SET ! EFM_GetStatus(EFM_FLAG_RDY)); /* 启用EFM_FWMC写入 */ EFM_FWMC_Cmd(ENABLE); /* 扇区13区范围0x00018000 ~ 0x00019FFF */ u32Addr EFM_SECTOR_ADDR(EFM_SECTOR13_NUM) 32; EFM_ReadByte(u32Addr, (uint8_t *)u32ReadData2, sizeof(RatioData)); /* EFM_FWMC写入禁用 */ EFM_FWMC_Cmd(DISABLE); usb_printf(duty cycle : %d %\r\n, u32ReadData2); return (int)u32ReadData2; } /* 往Flash里保存数据 */ void EFM_WriteData(void) { uint32_t PressData value; uint32_t RatioData ratio; /* 为某些必需的外围设备注册写启用 */ LL_PERIPH_WE(EXAMPLE_PERIPH_WE); /* 等待Flash就绪 */ while (SET ! EFM_GetStatus(EFM_FLAG_RDY)); /* EFM_FWMC写入启用 */ EFM_FWMC_Cmd(ENABLE); /* 删除扇区13 13区范围0x0001a000 ~ 0x0001bFFF */ u32Addr EFM_SECTOR_ADDR(EFM_SECTOR13_NUM); (void)EFM_SectorErase(u32Addr);/* EFM扇区擦除 */ /* 把压力补偿值写到13扇区的闪存 */ while(LL_OK ! EFM_ProgramWordReadBack(u32Addr, PressData)); /* 移动指向13扇区闪存的目标地址继续写入数据 */ u32Addr 32; /* 把占空比写到13扇区的闪存 */ while(LL_OK ! EFM_ProgramWordReadBack(u32Addr, RatioData)); /* EFM_FWMC写入禁用 */ EFM_FWMC_Cmd(DISABLE); /* 为某些必需的外围设备注册写保护 */ LL_PERIPH_WP(EXAMPLE_PERIPH_WE); usb_printf(Com_value setting %d pa\r\n, PressData); usb_printf(duty ratio setting %d %\r\n, RatioData); }切记往Flash存储器保存新数据时需要考虑扇区的对齐和数据管理。Flash存储器的读写操作通常是以扇区为单位进行的每个扇区的大小通常是固定的。因此在写入新数据之前需要确保目标位置是在扇区的边界之内否则可能会导致数据写入错误或损坏。此外为了防止在写入新数据时误删自己的程序或其他重要数据建议在写入新数据之前先备份程序或其他重要数据。同时在写入新数据之前也需要确保目标位置没有其他重要的数据以避免误删其他数据。最后在写入新数据时也需要按照Flash存储器的读写规范进行操作避免不当的操作导致Flash存储器的损坏或数据丢失。建议在使用Flash存储器之前先仔细阅读相关技术文档或参考手册并遵循正确的操作步骤。

相关新闻

基于YOLOv8与PyQt的玉米叶病害检测工具开发实战

基于YOLOv8与PyQt的玉米叶病害检测工具开发实战

简介:面向玉米叶病害检测的开发者与学习者,这套资源提供了YOLOv8训练权重、PyQt可视化界面与一千五百张标注数据集,覆盖常见锈病、灰斑病、叶枯病及健康叶片四类,可直接用于模型推理或桌面端交互演示。压缩包总计两千个文件&#…

2026/10/11 1:18:23 阅读更多 →
ResNet人脸表情识别实战:从FER-2013训练到ONNX部署

ResNet人脸表情识别实战:从FER-2013训练到ONNX部署

简介:本资源是一套基于ResNet架构的人脸表情识别完整Python实现方案,面向计算机视觉初学者、课程设计学生及毕业设计开发者,解决从数据预处理、模型构建、训练验证到实时视频推理的全流程实践需求。压缩包共16个文件,含3个核心Pyt…

2026/10/11 1:18:23 阅读更多 →
VASP与QE计算应力-应变关系及弹性常数全攻略

VASP与QE计算应力-应变关系及弹性常数全攻略

简介:面向材料科学领域研究者和计算模拟爱好者,提供一套基于VASP与Quantum Espresso计算应力应变关系的脚本资源。内容围绕密度泛函理论模拟后的数据后处理展开,帮助用户从结构优化与应变计算的输出文件中提取应力与应变数据,绘制…

2026/10/11 1:18:23 阅读更多 →

最新新闻

飞牛NAS上用Docker Compose编排Nginx+PHP+MySQL+Redis轻量LEMP环境

飞牛NAS上用Docker Compose编排Nginx+PHP+MySQL+Redis轻量LEMP环境

前几天帮朋友折腾一台飞牛NAS,要把一个PHP项目从旧服务器挪过来。我最开始图省事,直接用飞牛自带的应用商店装了一套Nginx套件,结果发现PHP版本太老,MySQL数据库目录也被套件管死,想改配置还得翻半天权限。最后还是退回…

2026/10/11 2:11:53 阅读更多 →
YOLOv5船舶检测四大实战改进:小目标、海面干扰与红外适配

YOLOv5船舶检测四大实战改进:小目标、海面干扰与红外适配

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 2:11:53 阅读更多 →
双指针算法详解:对撞、快慢与滑动窗口实战

双指针算法详解:对撞、快慢与滑动窗口实战

1. 双指针到底解决了什么问题先从一个最常见的场景说起。假设你拿到了一个有序数组,要找出其中两个数,使它们的和等于某个目标值。最直接的想法是两层循环暴力枚举,第一层固定一个数,第二层遍历剩下的数去检查。这个方案的复杂度是…

2026/10/11 2:11:53 阅读更多 →
EtherCAT网关选型全攻略:协议、芯片、线缆三大关键

EtherCAT网关选型全攻略:协议、芯片、线缆三大关键

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 2:11:53 阅读更多 →
Docker搭建Redis集群实战:从主从复制到哨兵模式与Cluster分片

Docker搭建Redis集群实战:从主从复制到哨兵模式与Cluster分片

1. 为什么要用Docker搭Redis集群:从单节点到主从哨兵的演进逻辑先说一个很多人问我的问题:单机Redis用得好好的,为什么要费劲搭集群?这个问题其实分两层。第一层,如果你的业务量还没到单节点扛不住的程度,那…

2026/10/11 2:11:53 阅读更多 →
大华ICC平台联接客户端部署与联调实战:从安装到信令抓包排障

大华ICC平台联接客户端部署与联调实战:从安装到信令抓包排障

简介:大华ICC平台联接客户端资源包面向安防运维人员、系统集成商及需要远程视频监控管理的技术人员,围绕大华ICC智能云连接平台的客户端部署与设备接入展开。压缩包共4个文件,约277.47MB,包含1个exe安装程序、2个xml配置说明文件及…

2026/10/11 2:10:52 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →