AVR 88单片机 怎样用EEPROMWriteBytes() 函数 存储和读取 结构体。在结构体里面有数组 谢谢各位高手达人

本人初学 请说的详细一点 最好能举个例子 非常感谢

结构体存储读写只有两种方式:
1,结构体成员逐一访问,逐一存取,写入e2prom里的时候按你访问结构体的成员顺序逐一写入,读取时按写入的顺序逐一读取并赋值回结构体变量,但问题时如果结构体里面有类似浮点数或非字节型变量的话,在写入和读取之前要转换(即要按字节方式去访问非char类型数据,因为好像e2prom只能按字节写和读,8位数据宽度)。
2,结构体整体读写,即强制转换结构体变量首地址为char *类型,并按char类型将整个结构体(sizeof struct)在ram中的所有内容(按字节)全部写入e2prom,读取的时候也是一样的,按结构体整体size从e2prom里读取,然后按字节赋值到结构体所在的ram区域,这样就完成结构体数据的存取。
第2种方式存在的问题就是如果结构体过于大,整体字节大小超过e2prom的页大小,会有点麻烦
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜