标题: 51单片机中将浮点数以数组的形式存入eeprom后,如何将浮点数读取出来呢? [打印本页]

作者: 1649921    时间: 2023-2-28 19:02
标题: 51单片机中将浮点数以数组的形式存入eeprom后,如何将浮点数读取出来呢?
谢谢大家

作者: Hephaestus    时间: 2023-3-1 01:15
怎么存进去的就怎么取出来,多简单。别人又不知道你是怎么存进去的,怎么可能知道问题的答案?
作者: wulin    时间: 2023-3-1 05:55
浮点数(实数)长度32位,用位移的方式拆分成4个字节存入eeprom,读取后按存入时的拆分顺序还原。对于eeprom存储器单元而言,存入的只是一个字节的数据。与数据的类型无关。
作者: 624353765    时间: 2023-3-1 08:42
定义一个结构体,将结构体转char*指针读写
作者: npn    时间: 2023-3-1 13:03
用union联合体转换或指针操作。
作者: yzwzfyz    时间: 2023-3-1 13:56
任何定的类(数组、图像、浮点数、音乐……)都是按字节存放的,读取也是按字节读出的。
要点是(以图像为例):如何编码的,就如何解码。
也即你缺少(XX格式,如浮点数)编码的知识,当然就不知道如何解码了。
作者: coody_sz    时间: 2023-3-1 14:21
先读出放一个单字节的数组 tmp[],然后取值时强转浮点 f = ((float *)&tmp)[i]
作者: rctty    时间: 2023-3-2 13:38
一般我会这样定义:
typedef union
{
    float value1;
    uint32_t value2;
}pValue;
存储的时候调用value2,其他时候用value1
pValue value = {0,};




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1