找回密码
 立即注册
楼主: ydcsb

关于STC EEPROM 读写小数点数据的问题

[复制链接]
  • 打卡等级:以坛为家III
  • 打卡总天数:623
  • 最近打卡:2025-12-20 01:08:03
已绑定手机

44

主题

2580

回帖

2715

积分

荣誉版主

积分
2715
发表于 2024-8-11 22:34:45 | 显示全部楼层
_NC*** 发表于 2024-8-11 13:11
不用自己写,充分利用stdio.h
开一个unsigned char buffer[8]数组,sprintf(buffer,"%.5f",3.14159);
依次 ...

这种操作占用EEPROM空间大,转换时钟周期长,还存在转换误差,不是太推荐,还是使用指针或者共用体比较好一点。
睁开眼睛做场梦~~~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:275
  • 最近打卡:2025-12-16 08:26:26

18

主题

82

回帖

1148

积分

金牌会员

积分
1148
发表于 2024-10-21 15:26:49 | 显示全部楼层
学习了
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:370
  • 最近打卡:2025-12-19 09:12:48

10

主题

134

回帖

1804

积分

金牌会员

积分
1804
发表于 2024-10-21 16:04:14 | 显示全部楼层
晓*** 发表于 2024-8-11 22:34
这种操作占用EEPROM空间大,转换时钟周期长,还存在转换误差,不是太推荐,还是使用指针或者共用体比较好 ...

赞同,存数字简单的就是把内存的数据写到Flash或EEPROM里,在同芯片上直接复制就可以了,不同架构需要考虑字节序问题,对应的技术就是数字在内存中的存储方式字节序问题
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:191
  • 最近打卡:2025-12-18 08:26:01
已绑定手机

19

主题

543

回帖

1923

积分

金牌会员

积分
1923
发表于 2024-11-5 13:18:33 | 显示全部楼层
_NC*** 发表于 2024-8-11 13:11
不用自己写,充分利用stdio.h
开一个unsigned char buffer[8]数组,sprintf(buffer,"%.5f",3.14159);
依次 ...

典型的乱搞,如果一个数很大很大呢
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:186
  • 最近打卡:2025-12-17 13:22:55

3

主题

15

回帖

448

积分

中级会员

积分
448
发表于 2025-3-4 14:09:20 | 显示全部楼层
angm*** 发表于 2023-10-1 19:20
在EEPROM中保存浮点数的方法
任何定的类(数组、图像、浮点数、音乐……)都是按字节存放的,读取也是按字 ...

有没有遇到锅 union 转换失效的问题?比如 value2={88,a5,0,0}  value1=212765412
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:191
  • 最近打卡:2025-12-18 08:26:01
已绑定手机

19

主题

543

回帖

1923

积分

金牌会员

积分
1923
发表于 2025-3-4 14:50:54 | 显示全部楼层
存浮点数HEX码,读出后当浮点处理
float fVal = 3.14;
eeprom_write(0, (u8*)&fVal, 4);
eeprom_read(0, (u8*)&fVal, 4);

回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:748
  • 最近打卡:2025-12-19 01:15:32

11

主题

1273

回帖

6665

积分

论坛元老

积分
6665
发表于 2025-3-4 15:21:16 | 显示全部楼层
xcli*** 发表于 2025-3-4 14:09
有没有遇到锅 union 转换失效的问题?比如 value2={88,a5,0,0}  value1=212765412

序号是乱的是因为大小端模式。


大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,存储模式类似把数据当作字符串顺序处理。

小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,存储模式将地址的高低和数据位权有效地结合起来。


回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:186
  • 最近打卡:2025-12-17 13:22:55

3

主题

15

回帖

448

积分

中级会员

积分
448
发表于 2025-3-5 10:23:33 | 显示全部楼层
angm*** 发表于 2025-3-4 15:21
序号是乱的是因为大小端模式。

尝试过改变字节顺序,但是还是不对,最后是手动位移实现的
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:421
  • 最近打卡:2025-12-18 09:11:32
已绑定手机

34

主题

312

回帖

825

积分

高级会员

积分
825
发表于 2025-3-5 11:46:51 | 显示全部楼层
搞个共用体吧
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:191
  • 最近打卡:2025-12-18 08:26:01
已绑定手机

19

主题

543

回帖

1923

积分

金牌会员

积分
1923
发表于 2025-11-17 11:20:14 | 显示全部楼层
将要保存的数据放在结构体内,读写时强制转换成u8地址即可,
AT24X_Write(ADDR__WORKTIME, sizeof(WorkTime_Typedef), &g_stWorkTime);
AT24X_Read(ADDR__WORKTIME, sizeof(WorkTime_Typedef), &stTmp);
typedef struct
{
        u32 ulPowerOnCnt;
        u32 ulTotalSecCnt;
        u32 ulPumpSecCnt;
        u32 ulInitFlag;
}WorkTime_Typedef;
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-12-20 06:09 , Processed in 0.135197 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表