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

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

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:269
  • 最近打卡:2025-03-06 08:32:57

19

主题

59

回帖

790

积分

高级会员

积分
790
发表于 2023-10-7 23:19:03 | 显示全部楼层
增加知识了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2025-05-01 12:18:53

10

主题

143

回帖

348

积分

中级会员

积分
348
发表于 2023-11-30 19:41:06 | 显示全部楼层
本帖最后由 huhuan 于 2023-12-3 15:57 编辑

我是用指针去操作的,
给你个分解例程




案例屏蔽



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:388
  • 最近打卡:2025-05-01 12:18:53

10

主题

143

回帖

348

积分

中级会员

积分
348
发表于 2023-11-30 19:45:38 | 显示全部楼层
本帖最后由 huhuan 于 2023-12-3 15:57 编辑

案例屏蔽
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:433
  • 最近打卡:2025-04-30 07:30:29
已绑定手机

229

主题

328

回帖

1467

积分

金牌会员

积分
1467
发表于 2023-12-3 20:18:41 | 显示全部楼层
@P412UN~C~H3@N@AGX8{E4K.png


你们的编程能力太落了,EEPROM我就40行不到的代码实现读写,根本不需要考虑数据类型,想怎么存就怎么存
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:375
  • 最近打卡:2025-04-26 15:51:33
已绑定手机

27

主题

301

回帖

822

积分

高级会员

积分
822
发表于 2023-12-20 14:59:01 | 显示全部楼层
QQ6243*** 发表于 2023-12-3 20:18
你们的编程能力太落了,EEPROM我就40行不到的代码实现读写,根本不需要考虑数据类型,想怎么存就怎么存
...

是的 ,浮点型最好建一个共用体。好操作
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:283
  • 最近打卡:2025-04-27 08:07:24

25

主题

159

回帖

304

积分

中级会员

积分
304
发表于 2024-1-16 11:30:54 | 显示全部楼层
学到了 谢谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:352
  • 最近打卡:2025-04-30 08:09:24

1

主题

30

回帖

1519

积分

金牌会员

积分
1519
发表于 2024-4-7 09:39:00 | 显示全部楼层
ydc*** 发表于 2023-10-1 17:17
只能放0--255的数,比如我要放超256就不行,还有放比如说10.2这个带小数点的也不行 ...

浮点数要自定义存放规则,比如10.2,分2个字节存放,第1字节存放小数点后两位,第2字节存放小数点前2位,
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:35
  • 最近打卡:2025-04-30 11:28:17
已绑定手机

7

主题

48

回帖

557

积分

高级会员

积分
557
发表于 2024-5-31 17:46:53 来自手机 | 显示全部楼层
定义一个结构体,你要存储的数据类型,数量都写进去,最后加上检验结果。然后指针转换成U8,计算一下字节数,然后根据指针保存对应的数量就行了。保存两个或三个。一个读取出来检验不对,就读第二个
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-8-11 13:11:21 来自手机 | 显示全部楼层
不用自己写,充分利用stdio.h
开一个unsigned char buffer[8]数组,sprintf(buffer,"%.5f",3.14159);
依次把数组里的8字节写进eeprom就好了。

同理,依次从eeprom读出8字节放回buffer,
float res;sscanf(buffer,"%f",&res); res就是3.14159

点评

这种操作占用EEPROM空间大,转换时钟周期长,还存在转换误差,不是太推荐,还是使用指针或者共用体比较好一点。  详情 回复 发表于 2024-8-11 22:34
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:375
  • 最近打卡:2025-04-26 15:51:33
已绑定手机

27

主题

301

回帖

822

积分

高级会员

积分
822
发表于 2024-8-11 16:42:21 | 显示全部楼层
将数据转换成float类型,
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 19:43 , Processed in 0.123552 second(s), 121 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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