_NCY_ 发表于 2024-8-11 13:11
不用自己写,充分利用stdio.h
开一个unsigned char buffer数组,sprintf(buffer,"%.5f",3.14159);
依次 ...
这种操作占用EEPROM空间大,转换时钟周期长,还存在转换误差,不是太推荐,还是使用指针或者共用体比较好一点。
学习了
晓飛飛 发表于 2024-8-11 22:34
这种操作占用EEPROM空间大,转换时钟周期长,还存在转换误差,不是太推荐,还是使用指针或者共用体比较好 ...
赞同,存数字简单的就是把内存的数据写到Flash或EEPROM里,在同芯片上直接复制就可以了,不同架构需要考虑字节序问题,对应的技术就是数字在内存中的存储方式字节序问题
_NCY_ 发表于 2024-8-11 13:11
不用自己写,充分利用stdio.h
开一个unsigned char buffer数组,sprintf(buffer,"%.5f",3.14159);
依次 ...
典型的乱搞,如果一个数很大很大呢
angmall 发表于 2023-10-1 19:20
在EEPROM中保存浮点数的方法
任何定的类(数组、图像、浮点数、音乐……)都是按字节存放的,读取也是按字 ...
有没有遇到锅 union 转换失效的问题?比如 value2={88,a5,0,0}value1=212765412
存浮点数HEX码,读出后当浮点处理
float fVal = 3.14;
eeprom_write(0, (u8*)&fVal, 4);
eeprom_read(0, (u8*)&fVal, 4);
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
angmall 发表于 2025-3-4 15:21
序号是乱的是因为大小端模式。
尝试过改变字节顺序,但是还是不对,最后是手动位移实现的
搞个共用体吧