本帖最后由 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需要怎么操作?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
比如:struct User *user1 ;
u8 *p;
p=(U8*)user1;
在使用单字节写入时候 write_data(*p++); 这种写法是 把新的指针指向结构体的初始位置
然后按照u8类型进行存储。p++每次偏移一个字节。不过需要注意的是,你不能越界了,也就是循环写入的次数最多时sizeof(struct User);
读出来就好办了。先放到一个buff里面 然后再赋值到各个变量。
一周热门 更多>