RT_Thread系统中如果要实现对浮点数的打印效果,可以考虑在kservice.c中创建一个专门的浮点数打印的函数,#include <stdio.h> /*****************************单独进行浮点数显示的函数****************************************/ #define DBG_BUFF_MAX_LEN
在RT-Thread中打印浮点数通常需要通过一些额外的配置和步骤来实现,因为RT-Thread的默认rt_kprintf函数并不直接支持浮点数的格式化输出。以下是几种在RT-Thread中打印浮点数的常见方法: 1. 使用rt_vsnprintf_full软件包 RT-Thread提供了一个名为rt_vsnprintf_full的软件包,它扩展了rt_vsnprintf的功能,以支持浮点数...
RT-Thread浮点数打印的问题及其解决办法 描述 (目前master分支已无该问题,RT_ALIGN_SIZE默认为8了)主要讲讲MounRiver Studio下的浮点打印(RTT Studio)问题,RT-Thread Studio的话我没试过,不过论坛里的一些vsnprintf替换rt_vsnprintf应该是不可行的(gcc下 ch32v会抛出线程错误,其它的keil或许可以,不过没试过)。 Mo...
唯一的缺点是,不支持浮点数打印。 使用案例: //测试打印constintnumber=12;constinthex=0xa;constcharstr[]="this is test string!";rt_kprintf("orange\n");rt_kprintf("number: %d\n",number);rt_kprintf("hex: %x\n",hex);rt_kprintf("string: %s\n",str);rt_kprintf("float: %f\n",numf);...
如果发现死机,需要确认打印的环境,如中断中,尤其在串口输出的情况下 测试例程 RT-Thread Studio arm-none-eabi-gcc 环境:未发现死机现象 Keil MDK5 环境:未发现死机现象 cygwin gcc 环境:未发现死机现象 可以正常的用于浮点数的调试打印 /* Copyright (c) 2006-2018, RT-Thread Development Team ...
官方的 RT-Thread (后面简称 RTT )不支持浮点打印,毕竟相当一部分 MCU 甚至连浮点指令都不支持,如果在调试过程中需要用到浮点打印,可以通过如下步骤实现:Step1: 把 libc 从nano版本切换到标准版本:Step2: 用 sprintf 函数把浮点输出到字符串,再通过 rtprintf 打印: 官方的 RTT 支持...
在这个时候我忽然想到浮点数的特殊性,以前记得使用 RT-Thread 遇到过,然后网上查了下确实,rt_kprintf是不能打印浮点数的,是不是浮点数的问题。 因为上面显示 sht21 线程栈溢出,说明线程栈给的不够,其实按照经验来说,是足够的,这里不管,那我给他增加线程栈看看结果,如下图: ...
支持浮点数打印 这个一直以来都是大家用rt_kprintf的痛点,现在在 ulog 上得到了彻底的解决。使用前,需要先在 menuconfig 中配置开启 ulog 的浮点数支持。 兼容rtdbg.h 及 elog rtdbg 是 RT-Thread 早期的日志头文件,当前 rtdbg 已完成无缝对接ulog ,开启 ulog 后,旧项目中使用 rtdbg 的代码无需做任何修改,...
c 中的 rt_vsnprintf 重新编译并运行rt_kprintf 和LOG_I,浮点数打印正常 原作者:埃里克陈 ...
rt_kprintf打印浮点数 kservice.h: line 1307, 添加 #include 更改:length = rt_vsnprintf(rt_log_buf, sizeof(rt_log_buf) - 1, fmt, args); 为: length = vsnprintf(rt_log_buf, sizeof(rt_log_buf) - 1, fmt, args); 更改rt_kprintf导致ps命令bug, components/finsh/cmd.c: line 173 ...