[应用相关] RT-Thread的rt-kprint输出浮点数的方法

[复制链接]
3243|24
 楼主| gaoyang9992006 发表于 2020-8-28 10:23 | 显示全部楼层 |阅读模式
        rt_kprintf("shidu=%d.%d\%\n",shidu/10,shidu%10);
        rt_kprintf("wendu=%d.%d\n",wendu/10,wendu%10);
例如我读取的AM2301温湿度数据,是放大十倍后的,而输出一位小数的方法如上所示。因为
kt_kprintf只能格式输出%d整数类型,所以想要输出浮点就需要对数据处理。
例如,如果你要输出0.23
a=0.23

        rt_kprintf("a=%d.%d\%\n",int(a),(a*100)%100);
通过类似这种操作,将数据分离出来,然后显示效果就是小数点那种形式了。

Diyer2015 发表于 2020-8-28 10:45 | 显示全部楼层
竟然不支持 %.2f % 5.2f这种输出格式?

哪怕输出%s 也行啊!!!!!!

评论

@Diyer2015 :字符串是可以输出的。不可以格式化输出浮点。用我这个方法可以间接输出浮点。而且貌似效果也不错。  发表于 2020-8-28 15:29
@gaoyang9992006 :Kprintf 是kernel printf吗? 那如果是这样的话,UART 的系统输出,也是用的这个? 不过,连 %s 都不能输出吗?  发表于 2020-8-28 15:20
完整的printf功能,需要占用很大的资源,所以RT-Thread提供的这个kprinf实现比较简单,我看了一下,用我这个方法实现同样的功能,却更加节约资源。所以不支持%f也没问题。不然开销更大,在单片机上应用这个,无非就是调试时候使用多一些,另外就是跟串口的外设通信。基本上很少必须用到printf的完整功能。  发表于 2020-8-28 10:54
Diyer2015 发表于 2020-9-19 15:17 | 显示全部楼层
学习了!原来每个OS 都有它自己独特的方式!
Diyer2015 发表于 2020-9-19 15:41 | 显示全部楼层
学习了!!!!

感谢分享!
EDA设计爱好者 发表于 2020-9-19 16:11 | 显示全部楼层
学习了!!!!

感谢分享!
doit888 发表于 2020-9-19 16:11 | 显示全部楼层
学习了!!!!

感谢分享!
MCUmaker1984 发表于 2020-9-19 16:11 | 显示全部楼层
RT-Thread的rt-kprint输出浮点数的方法
Lovemcu2212 发表于 2020-9-19 16:12 | 显示全部楼层
还没有用过RT -OS 不过感觉这样用起来不是十分方便!
Diyer2015 发表于 2020-9-19 16:12 | 显示全部楼层
学习学习!
Diyer2015 发表于 2020-9-19 16:13 | 显示全部楼层
RT-Thread的rt-kprint输出浮点数的方法
engineerDC 发表于 2020-9-19 16:14 | 显示全部楼层
学习学习!
carefull3357dc 发表于 2020-9-19 16:14 | 显示全部楼层
RT- printf !

学习学习!
powermaker2568 发表于 2020-9-19 16:15 | 显示全部楼层
感谢分享!
goodluck09876 发表于 2020-9-19 16:16 | 显示全部楼层
学习了!
感谢分享!

RT -thread 打印输出!

MARK!
東南博士 发表于 2020-9-19 16:16 | 显示全部楼层
学习学习!
wangjiahao88 发表于 2020-9-19 16:17 | 显示全部楼层
不过 仍然不理解为什么不能格式化字符串进行打印 浮点数那种通用的格式!
xinxianshi 发表于 2020-9-20 21:35 | 显示全部楼层
看似简单,充满学问。
cainiao518 发表于 2020-9-21 15:47 | 显示全部楼层
有没RT-THREAD移植到STM32F103C8T6的例程
ayb_ice 发表于 2020-9-21 16:53 | 显示全部楼层
直接用sprintf输出到数组,再调用 rt_kprintf输出字符串
liangshuang95 发表于 2020-9-21 17:38 来自手机 | 显示全部楼层
可以直接调用C标准库的格式化字符串函数,然后再打印。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2052

主题

16403

帖子

222

粉丝
快速回复 在线客服 返回列表 返回顶部