修改RTT源码方式: 修改代码部分内容: case 'f':{float fv = (float)va_arg(*pParamList, double); // 取出输入的浮点数值if(fv < 0) _StoreChar(&BufferDesc, '-'); // 判断正负号v = abs((int)fv); // 取正整数部分_PrintInt(&BufferDesc, v, 10u, NumDigits, FieldWidth, FormatFlags); ...
它以非常高的性能结合了 SWO 和半主机的优势。但是在笔者使用时(RTT v758版本),其暂时不支持浮点数打印的功能。我们可以通过修改源码添加该功能。 跳转到RTT>SEGGER_RTT_printf.c>SEGGER_RTT_vprintf(unsigned, const char*, va_list*)函数中。 找到原代码中判断输出类型的部分,是使用switch-case判断类型的。 /...
针对你的问题“segger_rtt_printf打印浮点数”,我将按照提供的提示进行回答: 确认segger_rtt_printf函数是否原生支持浮点数打印: SEGGER RTT(Real-Time Transfer)是一个高效的实时数据传输机制,通常用于嵌入式系统的调试。segger_rtt_printf是SEGGER RTT提供的一个类似于标准printf的函数,用于向主机发送格式化字符串。
坚持党中央对审计工作的集中统一领导,聚焦主责主业,深化改革创新,加强自身建设,着力构建集中统一、全面覆盖、权威高效的审计监督体系,不断提高审计监督质效,以高质量审计监督护航经济社会高质量发展,为以中国式现代化全面推进强国建设、民族复兴伟业作出新的贡献。