晓飛飛 发表于 2024-8-11 22:34:45

_NCY_ 发表于 2024-8-11 13:11
不用自己写,充分利用stdio.h
开一个unsigned char buffer数组,sprintf(buffer,"%.5f",3.14159);
依次 ...

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

tubulvxing 发表于 2024-10-21 15:26:49

学习了

远行的鹿 发表于 2024-10-21 16:04:14

晓飛飛 发表于 2024-8-11 22:34
这种操作占用EEPROM空间大,转换时钟周期长,还存在转换误差,不是太推荐,还是使用指针或者共用体比较好 ...

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

bkeuqoaq 发表于 2024-11-5 13:18:33

_NCY_ 发表于 2024-8-11 13:11
不用自己写,充分利用stdio.h
开一个unsigned char buffer数组,sprintf(buffer,"%.5f",3.14159);
依次 ...

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

xclikee 发表于 2025-3-4 14:09:20

angmall 发表于 2023-10-1 19:20
在EEPROM中保存浮点数的方法
任何定的类(数组、图像、浮点数、音乐……)都是按字节存放的,读取也是按字 ...

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

Ayb_ice 发表于 2025-3-4 14:50:54

存浮点数HEX码,读出后当浮点处理
float fVal = 3.14;
eeprom_write(0, (u8*)&fVal, 4);
eeprom_read(0, (u8*)&fVal, 4);

angmall 发表于 2025-3-4 15:21:16

xclikee 发表于 2025-3-4 14:09
有没有遇到锅 union 转换失效的问题?比如 value2={88,a5,0,0}value1=212765412

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


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

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

https://www.stcaimcu.com/data/attachment/forum/202404/15/150628prdjjni3lowwvell.jpg

xclikee 发表于 2025-3-5 10:23:33

angmall 发表于 2025-3-4 15:21
序号是乱的是因为大小端模式。




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

小坤 发表于 2025-3-5 11:46:51

搞个共用体吧
页: 1 2 [3]
查看完整版本: 关于STC EEPROM 读写小数点数据的问题