f1946的片子,想写个结构体到eeprom中,但是
eeprom_write(unsigned char addr, unsigned char value);
只能写8位无符号数据,而我要操作的结构体却是有各种
数据的,例如long。
我不想用循环什么的一个字节一个字节读出来再
拼起来,或者把内存中的结构体打撒成为一个
字节一个字节的数据再写进去,感觉很繁琐,
有没有什么更好的办法?
别告诉我可以不使用eeprom_write等等函数,
直接用PC指针对EEPROM进行操作,那就太方便了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
LZ能讲讲吗?让我等不知所以然的能看过透彻,多谢。。。
仔细想了想,没什么问题。反正我把指针变为8位一挪,然后挪
sizeof(结构体)那么多次写进EEPROM里面去。
但是不太敢用,怕出现意想不到的情况。
不过有个问题,
结构体里面有不同类型的数据需要涉及到一个内存对齐问题,
如果采用共用体和结构体嵌套的话是不是会有一个内存浪费的问题?
顺便问一下,前几天在论坛看到的那个文章,对于SIZEOF关键字的理解,好像里面的数据类型是有影响的,比如一个CHAR型的,返回是1,一个INT型的返回也是1。
一个有10个成员的CHAR数组,返回的是10,那么有10个成员的INT数组,返回的是10还是20呢?
一周热门 更多>