【求助】关于数据保存的问题。

2019-07-20 13:34发布

本帖最后由 刘毅壁虎 于 2017-7-8 13:44 编辑

程序需要对传感器数据进行采集,并按照“年,月,日,测量结果”的格式将数据进行保存。年,月,日和测量结果前期我分别用的独立的变量完成赋值。现在我想将这几个独立的变量以结构体的形式整体保存到flash里去。方便后期的读写以及使用。

具体如下:
typedef struct
{
        uint Year;
        uint Month;
        uint Date;
        float Press;
}DataTypeDef;

DataTypeDef DataStruct;

uint Year=17;
uint Month=7;
uint Date=01;
float Press=100000;

DataStruct.Year=Year;
DataStruct.Month=Month;
DataStruct.Date=Date;
DataStruct.Press=Press;

WriteBuffer(DataStruct);


但是当需要采集的数据种类更多时,采用红 {MOD}部分的算法会感觉很奇怪,能否通过别的方法实现?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
刘毅壁虎
1楼-- · 2019-07-21 16:01
yklstudent 发表于 2017-7-8 22:23
你这样的效率高?????

不知道啊,按照机器的运算周期,应该是更快一些吧
刘毅壁虎
2楼-- · 2019-07-21 19:50
 精彩回答 2  元偷偷看……
刘毅壁虎
3楼-- · 2019-07-21 21:04
刘毅壁虎 发表于 2017-7-8 22:15
sprintf((char*)&DataStruct,"%c%c%c%c",Year,Month,Date,Press);
这样写貌似是可以实现同样的功能,但 ...

float型数据在内存中存储的时候,所占用的存储空间有某种类似对其的要求。也就是说,Date与Press的存储地址不是连续的,中间有几个存储位置浪费掉了。

一周热门 更多>