atm32怎么方便的将一个结构体存入flash并且原样读写出来

2019-08-14 03:42发布

本帖最后由 rindy 于 2017-9-2 11:53 编辑

假如有这样一个结构体数组,怎么存入flash呢,并且原样读写出来,之前只写过一些简单变量的存储与读写操作,不知道结构体怎么操作
struct User   
{
        char  user_physical[20];
        char  user_custom[20];
        char user_pa[20];
        char user_flag;
};
struct   User      user1[60];//添加60条数据,现在要把这60条结构体数据存放到flash需要怎么操作?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
hstar
2019-08-15 07:37
本帖最后由 hstar 于 2017-9-2 15:50 编辑

用共用体来解决存储的问题。很简单
[mw_shl_code=c,true]typedef union User {
    struct{
                char  user_physical[20];
        char  user_custom[20];
        char user_pa[20];
        char user_flag;
    }Source;
    char all[20+20+20+1];
}USAER;

USAER user[10];

user.all[0][0] =1;
printf("%d ",user.Source.user_physical[0]);[/mw_shl_code]

输出结果是1所以只需要写入共用体的user.all,这样就能把结构体写入了。

共用体的内存空间是共享的,反正就当一个数组读取存储就可以了。

一周热门 更多>