我正在使用微芯片 c18,我有这个功能,它将浮点数分成 4 个相应的字节。C18 遵循小字节序
a[0]=*(fptr); address 0
a[1]=*(fptr+1); 1
a[2]=*(fptr+2); 2
a[3]=*(fptr+3); 3
并写入串行eeprom。
如果我想读回浮点变量。
float read_float(void)
{ float f;
unsigned char *fptr;
fptr=&f;
*(fptr)=eepromread(0);
*(fptr+1)=eepromread(1);
*(fptr+2)=eepromread(2);
*(fptr+3)=eepromread(3);
return(f);
}
这个函数会返回浮点变量吗?我现在没有任何硬件和模拟工具。
我相信我的问题很清楚。编辑:
这样做的同时。将 char 分配给 float 时发生编译器不匹配错误。我该如何消除该错误?