如果有几个设置参数需求存储到Flash中,咱们一般会怎样存储呢?将不同的参数都存储到不同的页中,仍是将这几个参数绑缚成一种结构体,每次修正都一起写入一次呢?
将参数存储到固定的地址,则每个参数都将占用Flash的一个块。而将悉数参数绑缚一起存入Flash块中,那么只要一个参数修正时,也需求将悉数参数一起存一遍。那么有什么更好的办法吗?
前段时间学习Msos,看到其间运用的参数存储的办法规划的很好,它将参数的变量地址与值,一起存储入Flash中。出彩之处是运用参数的变量地址来符号不同的变量。
一、数据结构
这种存储方法运用两个数据结构:
typedef struct
{
uint Address; //参数变量的地址
uint Data; //参数变量的值
}CellStruct;
要存储某个变量,需求将这个变量的地址和它的值一起存储到存储区。这种存储方法的中心便是这个数据结构。这样就可以运用*((uint *)(Address)) = Data 直接将存储值赋值给对应的变量。简略的说便是依据地址值来符号各个不同的参数。
2.存储区的数据结构
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/182541.html