算法(3) flash存储多包大数据
发布日期:2021-06-29 05:35:52
浏览次数:3
分类:技术文章
本文共 1268 字,大约阅读时间需要 4 分钟。
1:说明
在开发项目过程中,经常用到flash存数据,但有时数据长度是确定的,比如说用户参数配置之类的,但有时有的数据长度是不确定的,如长度多包大数据,每包格式一样,但总数据量可变的数据
2:执行步骤
2.1 在结构体中确定好的长度数据:
(1)前期定义:
typedef struct{ uint16_t data_len; uint8_t data[1000];}STU_BOOD_METER; //
STU_BOOD_METER STU_Bloodmeter;//结构体申明#define DATA_HEAD_2g 0xCCCCCCCC//用于确定是否flash写过数据#define MAX_BUF_LEN ((sizeof(STU_Bloodmeter )+3)/4)//结构体最大长度
前面两个字节定义长度,后面定义数据
(2):读取数据操作**
(3)写入数据操作 用标志位save_2g_flash_fla,uint8_t save_2g_flash_fla =0;void set_save_2g_flash(void){ save_2g_flash_fla=1;}void task_Write_2g_flash(void){ if(save_2g_flash_fla==0) return; save_2g_flash_fla =0; uint32_t data_head= DATA_HEAD_2g; Flash_Erase_Page(FLASH_QUEUE_ADDR/PAGE_SIZE);//HIS_ADDR RSV1_ADDR Flash_Write_World((uint32_t *)FLASH_QUEUE_ADDR,&data_head,1); Flash_Write_World((uint32_t *)(FLASH_QUEUE_ADDR+4),(uint32_t *)&STU_Bloodmeter.data_len,MAX_BUF_LEN/4); }
(4)得到用户数据后,存于结构体
每次得到数据加上偏移地址,后调用set_save_2g_flash(),存于flash2.2 在结构体中
typedef struct{ char* root_ca; char* client_cer; char* client_p_key;}SSL_CER_FILE;
用g_ssl_file.root_ca = (char*)malloc(user_para.ca_cer_len+1); // 分配内存
nvs_read_ssl_data_from_flash(1,g_ssl_file.root_ca);//&user_para.ca_cer_len); /* 读取证书 */ 用malloc得到数据,这样结构体就没必要定义确定的长度,但需要确认flash能存多大数据可以加入QQ群:687360507 与大伙沟通交流,技术在于分享而进步
转载地址:https://blog.csdn.net/zhi_Alanwu/article/details/108202883 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月03日 12时29分33秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
c/c++实现计数排序
2019-04-29
Qt——获取指定文件夹下的所有文件及指定文件夹下的所有文件夹
2019-04-29
Qt+visual studio环境下FFmpeg环境配置
2019-04-29
opencv——Mat.type()解析并记录
2019-04-29
如何让图片自适应QLabel的尺寸
2019-04-29
c++中vector的 = 与 assign的区别
2019-04-29
c++内存泄漏问题
2019-04-29
Qt + VS2013利用Opencv实现视频播放器功能
2019-04-29
error LNK2019:无法解析的外部符号——解决记录
2019-04-29
QT事件小归
2019-04-29
c++ sort函数使用总结
2019-04-29
C++基础——C++ make_pair用法
2019-04-29
Qt 标准对话框messagbox各种类型使用方法记录
2019-04-29
Qt鼠标形状样式
2019-04-29
如何用c++生成html5文件并进行编程
2019-04-29
mnist 手写识别教程
2019-04-29
tensorflow 的argmax
2019-04-29
Tensorflow 的 saver
2019-04-29
机器学习参考书
2019-04-29
ffmpeg 播放 mms 流媒体的方法
2019-04-29