如何方便的读写结构体到EEPROM中?

2020-02-06 10:09发布

f1946的片子,想写个结构体到eeprom中,但是
eeprom_write(unsigned char addr, unsigned char value);
只能写8位无符号数据,而我要操作的结构体却是有各种
数据的,例如long。

我不想用循环什么的一个字节一个字节读出来再
拼起来,或者把内存中的结构体打撒成为一个
字节一个字节的数据再写进去,感觉很繁琐,
有没有什么更好的办法?

别告诉我可以不使用eeprom_write等等函数,
直接用PC指针对EEPROM进行操作,那就太方便了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
26条回答
xwkm
1楼-- · 2020-02-08 03:44
xiaobendan 发表于 2015-11-10 16:25
哦,那就是说SIZEOF返回的都是字节数?

int char[10]是数组,不是字符串。我说的是C51别的平台我就更不 ...

sizeof(array) / sizeof(typeof(array))
xwkm
2楼-- · 2020-02-08 04:30
 精彩回答 2  元偷偷看……
cl1cl1cl1cl1
3楼-- · 2020-02-08 08:32
学习到比较好的方法。
xiaobendan
4楼-- · 2020-02-08 09:40
xwkm 发表于 2015-11-10 19:42
sizeof(array) / sizeof(typeof(array))

嗯,谢谢,谢谢!
明白了
xiaobendan
5楼-- · 2020-02-08 11:29
xwkm 发表于 2015-11-10 19:42
sizeof(array) / sizeof(typeof(array))

我对于混合类型的参数保存,比如有INT有CHAR,一直都是用INT数组的,比较浪费
结构和联合,一直不是很懂,不敢随便用
这下又懂了一些了。
对了,在顺序的参数中如果有BIT怎样搞呢,是不是只能用CHAR替代呢?
还有,如果用结构定义,不同的类型,那么访问时是不是就不能像访问数组那样用下标了?
还有访问结构成员时用的那些 . 还有 -> 这些,我始终不是很懂。
xwkm
6楼-- · 2020-02-08 16:53
xiaobendan 发表于 2015-11-11 07:17
我对于混合类型的参数保存,比如有INT有CHAR,一直都是用INT数组的,比较浪费
结构和联合,一直不是很懂 ...

系统学下C语言吧。直接开始玩所谓单片机C是完全不靠谱的

一周热门 更多>