我在网上搜浮点数写入eeprom并读取出来的方法,比较好的是用联合体的方法,但是我按照网上的方法读取出来的数据,小数点后面的数都没有了,只有前面的整数,哪位大神指点一下啊!下面是从网上搜到的方法
把所需要存取的浮点数和一个数组(char i[4])构成一个联合,存取的时候用数组,使用的时候用浮点数,如下:
union myfloat
{
char i[4];
float j;
}
写:
EEPROM_WRITE(0,myfloat.i[0]);
EEPROM_WRITE(1,myfloat.i[1]);
EEPROM_WRITE(2,myfloat.i[2]);
EEPROM_WRITE(3,myfloat.i[3]);
读:
myfloat.i[0]=EEPROM_READ(0);
myfloat.i[1]=EEPROM_READ(1);
myfloat.i[2]=EEPROM_READ(2);
myfloat.i[3]=EEPROM_READ(3);
使用浮点数:
float k=myfloat.j;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我赋值一个数进去,比如说12.5,我再将读出来的数据乘以10并用数码管显示出来,结果数码管显示120,后面的5没有了
一周热门 更多>