RT-Thread中关于浮点数如何使用rt_kprintf打印输出

1、实验环境

1.1 软件环境

RT-Thread Studio

1.2 硬件环境

ART-PI

2、实验过程

      昨晚菜哥想在使用rt_kprintf将一个浮点数打印输出到终端上面,本来觉得是一件非常简单的事情,嘻嘻,没想到,啪啪的打脸哇!绕了一圈愣是没有搞定哇!不过最后菜哥也是解决问题了,可能解决问题的手段比较菜哈!好啦,我们先来看看代码:

char *pdata = (char*)rt_malloc(sizeof(char)*16);

if(pdata == NULL){

    return;
}

rt_memset(pdata, 0, 16);

wave_diff = 1.234;


rt_kprintf("wave_diff value:%.2f\n", wave_diff);        //无法输出到终端上面

//想将浮点数格式化成字符串的形式来打印输出,可是还是不行哇!

rt_snprintf(pdata, maxsize, "%.2f", wave_diff);    //在终端上面打印pdata的值,结果只有%f哦

       最初的想法实想将浮点数转换为字符串进行输出,但是事实证明这种手段不得行,需要转换思路;但是后面尝试了一下标准库自带的snprintf函数,这个函数包含在标准库"stdio.h"当中;惊喜的发现竟然可以输出了哇,啧啧,这是什么情况呢!后面咨询了群里的大神,说是在RT-thread中要想输出浮点数需要配置,但是之前我是有配置过得,但是好像也不行哇!希望哪位大佬配置过,可以在留言区留言,我向大佬请教请教!最终我们来看看实验结果吧!

RT-Thread中关于浮点数如何使用rt_kprintf打印输出

下面就是菜哥项目里面 用到的测试程序,最终是想要在液晶屏上面显示的!

RT-Thread中关于浮点数如何使用rt_kprintf打印输出

 3、实验结果

       在液晶屏上面显示计算结果的浮点值,至于浮点数如何在touchgfx上面显示,请看看菜哥以往的文章哈!废话不多说,上图!

RT-Thread中关于浮点数如何使用rt_kprintf打印输出

4、总结

最近菜哥忙的项目是有使用RT-Thread+touchgfx的组合拳,所以在做项目中遇到可能会遇到一些RT-Thread、touchgfx相关的问题,菜哥也会将遇到的问题以及解决方法分享给大家!若是文中哪里有说的不对的地方,欢迎小伙伴在评论区留言!最后,还是那句老话,博主是一个又菜又爱玩的人!

 

上一篇:最全面的c++中类的构造函数高级使用方法及禁忌


下一篇:面试题1:赋值运算符函数