本帖最后由 dukelec 于 2025-11-19 21:22 编辑
esp32 idf 就支持你说的这种 binary logging 做法:
https://docs.espressif.com/proje ... html#binary-logging
但是这种做法兼容性不太好,如果我使用了它这个功能,我只能用 idf 去看打印,不方便用其它串口调试工具看 log
我一般是用宏把 float 转成整数部分和小数部分两个整型,然后通过打印整数的方式打印小数:
[C] 纯文本查看 复制代码
#define P_2F(x) (int)(x), abs((int)(((x)-(int)(x))*100)) // "%d.%.2d"
#define P_3F(x) (int)(x), abs((int)(((x)-(int)(x))*1000)) // "%d.%.3d"
// 示范: printf("float val: %d.%.2d\n", P_2F(2.14));
如果要更高效的显示 float 型数据,则使用波形显示功能更合适,float 型数据是原始数据发到上位机解析:
https://forum.anfulai.cn/forum.p ... 30080&fromuid=85792
(不排除以后我这个上位机的 log 打印功能也增加 binary logging 功能)
|