算法(3) flash存储多包大数据
发布日期:2021-06-29 05:35:52
浏览次数:4
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月27日 17时13分01秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python 爬虫-豆瓣影星图片下载
2019-04-29
Excel数据基础操作
2019-04-29
网页端数据库操作界面—主题函数文件
2019-04-29
网页端数据库操作界面-Html页面(1)
2019-04-29
网页端数据库操作界面-Html页面(2)
2019-04-29
网页端数据库操作界面-Html页面(3)
2019-04-29
Excel 高级筛选
2019-04-29
Python爬虫 百度热搜热点
2019-04-29
Python 百度热搜 全页面爬取
2019-04-29
爬取小说——爬取书的地址
2019-04-29
爬取小说——爬取章节地址
2019-04-29
爬取小说——爬取标题和正文
2019-04-29
爬取小说——储存为TXT格式
2019-04-29
爬取小说——主体部分
2019-04-29
Python 窗口化操作
2019-04-29
excel的常用函数(二)
2019-04-29
excel的逻辑函数
2019-04-29
excel文本函数
2019-04-29
excel时间日期函数
2019-04-29
excel查找引用函数
2019-04-29