• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

如何在EEprom中存储浮点类型数据

玲玲灵灵2013 2017-10-19 浏览量:1643

已知浮点类型为4个字节,我写的是

我定义了一个浮点类型得数,然后eeprom写字,即写4个字节,可是单步调试观察写进去的却是一个字节,问题会出在哪?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 建议用联合体来解决,联合体共用一段内存,这就给保存浮点数提供了极大的便利。 

    比如我要保存一个浮点数m,我定义一个联合体。

    1.png

    希望对你有帮助

    • 发布于 2017-10-19
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 确认一下写入的数据确实是四个字节吗?

    可以把程序放上来看一下

    • 发布于2017-10-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 你eeprom写字的程序是写char还是字符串?确定下。另外给你个思路,用一个联合体,union{char val[4];float a},eeprom写字符串时写入val,使用时用浮点数a
    • 发布于2017-10-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 写进去,再读出来验证比较好。
    • 发布于2017-10-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 这里有篇文章你可以去看看:http://m.blog.csdn.net/ssdsafsdsd/article/details/8093911
    • 发布于2017-10-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 连续查看4个地址,看看后面3个有数据吗。

    #define uchar  unsigned char
    #define uint   unsigned int
    void ftoc(void)
    { float a;
    uchar i,*px;
    uchar x[4];
    void *pf;
    px=x;
    pf=&a;
    a=34.25;
    for(i=0;i<4;i++)
      *(px+i)=*((char *)pf+i);
    for(i=0;i<4;i++)
    printf("%x\n",x);
    }

    这是网上的一个例程,可以参考下看看。

    • 发布于2017-10-20
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何在EEprom中存储浮点类型数据