晓飛飛
发表于 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
搞个共用体吧