打印
[应用相关]

RT-Thread的rt-kprint输出浮点数的方法

[复制链接]
2318|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 也行啊!!!!!!

使用特权

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

使用特权

评论回复
地板
Diyer2015| | 2020-9-19 15:41 | 只看该作者
学习了!!!!

感谢分享!

使用特权

评论回复
5
EDA设计爱好者| | 2020-9-19 16:11 | 只看该作者
学习了!!!!

感谢分享!

使用特权

评论回复
6
doit888| | 2020-9-19 16:11 | 只看该作者
学习了!!!!

感谢分享!

使用特权

评论回复
7
MCUmaker1984| | 2020-9-19 16:11 | 只看该作者
RT-Thread的rt-kprint输出浮点数的方法

使用特权

评论回复
8
Lovemcu2212| | 2020-9-19 16:12 | 只看该作者
还没有用过RT -OS 不过感觉这样用起来不是十分方便!

使用特权

评论回复
9
Diyer2015| | 2020-9-19 16:12 | 只看该作者
学习学习!

使用特权

评论回复
10
Diyer2015| | 2020-9-19 16:13 | 只看该作者
RT-Thread的rt-kprint输出浮点数的方法

使用特权

评论回复
11
engineerDC| | 2020-9-19 16:14 | 只看该作者
学习学习!

使用特权

评论回复
12
carefull3357dc| | 2020-9-19 16:14 | 只看该作者
RT- printf !

学习学习!

使用特权

评论回复
13
powermaker2568| | 2020-9-19 16:15 | 只看该作者
感谢分享!

使用特权

评论回复
14
goodluck09876| | 2020-9-19 16:16 | 只看该作者
学习了!
感谢分享!

RT -thread 打印输出!

MARK!

使用特权

评论回复
15
東南博士| | 2020-9-19 16:16 | 只看该作者
学习学习!

使用特权

评论回复
16
wangjiahao88| | 2020-9-19 16:17 | 只看该作者
不过 仍然不理解为什么不能格式化字符串进行打印 浮点数那种通用的格式!

使用特权

评论回复
17
xinxianshi| | 2020-9-20 21:35 | 只看该作者
看似简单,充满学问。

使用特权

评论回复
18
cainiao518| | 2020-9-21 15:47 | 只看该作者
有没RT-THREAD移植到STM32F103C8T6的例程

使用特权

评论回复
19
ayb_ice| | 2020-9-21 16:53 | 只看该作者
直接用sprintf输出到数组,再调用 rt_kprintf输出字符串

使用特权

评论回复
20
liangshuang95| | 2020-9-21 17:38 | 只看该作者
可以直接调用C标准库的格式化字符串函数,然后再打印。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

1974

主题

15994

帖子

210

粉丝