解决SEGGER_RTT_printf无法打印浮点数问题
2026/5/8 22:57:40 网站建设 项目流程
/* 在 SEGGER_RTT_vprintf 函数的 switch 语句中添加 */ case 'f': case 'F': { float fv = (float)va_arg(*pParamList, double); // 注意:float 会提升为 double int integer = (int)fv; int decimal; // 打印整数部分 _PrintInt(&BufferDesc, integer, 10, 0, 0, 0); _StoreChar(&BufferDesc, '.'); // 处理小数部分(取绝对值,保留3位) decimal = (int)((fv - integer) * 1000); if(decimal < 0) decimal = -decimal; _PrintInt(&BufferDesc, decimal, 10, 3, 0, 0); break; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询