RT-Thread浮点数打印的问题及其解决办法

电子说

1.3w人已加入

描述

(目前master分支已无该问题,RT_ALIGN_SIZE默认为8了)主要讲讲MounRiver Studio下的浮点打印(RTT Studio)问题,RT-Thread Studio的话我没试过,不过论坛里的一些vsnprintf替换rt_vsnprintf应该是不可行的(gcc下 ch32v会抛出线程错误,其它的keil或许可以,不过没试过)。

MounRiver Studio比较特殊,网上的方法都不行,要么浮点打印失败,要么引发rtthread错误,中间试了很多方法,涉及到一些编译器C库之类的,过程就不赘述了,

直接说结论和方法

MounRiver Studio裸机开发ch32想printf浮点的话(ch32官方已经为我们实现了printf重定向,如果其它芯片比如stm32就要自己重定向一下),需要勾选一个选项,如图:

ROM

rt_kprintf打印浮点需要一个补丁包rt_vsnprintf_full

浮点问题解决了,大佬回复很快啊(这里感谢大佬@mysterywolf),将rtconfig.h里的字节对齐宏改为8,

#define RT_ALIGN_SIZE 8

之后如果想用printf的,就是要勾选我前面提到的Use wchprintfloat(其它芯片和IDE重定向printf并修改字节对齐)

想用rt_kprintf的,就要添加一个补丁包

rt_vsnprintf_full

那就大功告成了(亲测)

printf和rt_vsnprintf_full补丁包ROM都是8KB,所以不用纠结。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分