一招教你如何使用嵌入式参数代码,入门必懂知识

时间:2022-07-15 13:13:14 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
一招教你如何使用嵌入式参数代码,入门必懂知识

如果有几个设置参数需要存储到Flash中,我们一般会怎么存储呢?将不同的

参数都存储到不同的页中,还是将这几个参数捆绑成一种结构体,每次修改都同时写入一次呢?

将参数存储到固定的地址,则每个参数都将占用Flash的一个块。而将全部参数捆绑一起存入Flash块中,那么只有一个参数修改时,也需要将全部参数一起存一遍。那么有什么更好的方法吗?

前段时间学习Msos,看到其中使用的参数存储的方法设计的很好,它将参数的变量地址与值,一同存储入Flash中。出彩之处是使用参数的变量地址来标记不同的变量。 一、数据结构这种存储方式使用两个数据结构: typedef struct {

uint Address; //参数变量的地址 uint Data; //参数变量的值 }CellStruct;

要存储某个变量,需要将这个变量的地址和它的值一同存储到存储区。这种存储方式的核心就是这个数据结构。这样就可以使用*uint *Address = Data 直接将存储值赋值给对应的变量。简单的说就是根据地址值来标记各个不同的参数。 2.存储区的数据结构二、代码解析这种存储方式的使用两个函数: 读取存储区中的变量值并更新变量的值 变量的存储函数

2.1 参数的读取流程图如上,主要步骤如下: 根据Flash中存写的变量地址,更新变量的值;

Flash中存写的地址值存入临时数组中,并根据地址值判断是否存在重复存储的无效数据,并将无效数组失效;


本文来源:https://www.wddqw.com/doc/91c8c2dbf11dc281e53a580216fc700abb6852ca.html