(目前master分支已無該問題,RT_ALIGN_SIZE默認為8了)主要講講MounRiver Studio下的浮點打印(RTT Studio)問題,RT-Thread Studio的話我沒試過,不過論壇里的一些vsnprintf替換rt_vsnprintf應(yīng)該是不可行的(gcc下 ch32v會拋出線程錯誤,其它的keil或許可以,不過沒試過)。
MounRiver Studio比較特殊,網(wǎng)上的方法都不行,要么浮點打印失敗,要么引發(fā)rtthread錯誤,中間試了很多方法,涉及到一些編譯器C庫之類的,過程就不贅述了,
直接說結(jié)論和方法
MounRiver Studio裸機開發(fā)ch32想printf浮點的話(ch32官方已經(jīng)為我們實現(xiàn)了printf重定向,如果其它芯片比如stm32就要自己重定向一下),需要勾選一個選項,如圖:
rt_kprintf打印浮點需要一個補丁包rt_vsnprintf_full
浮點問題解決了,大佬回復(fù)很快?。ㄟ@里感謝大佬@mysterywolf),將rtconfig.h里的字節(jié)對齊宏改為8,
#define RT_ALIGN_SIZE 8
之后如果想用printf的,就是要勾選我前面提到的Use wchprintfloat(其它芯片和IDE重定向printf并修改字節(jié)對齊)
想用rt_kprintf的,就要添加一個補丁包
rt_vsnprintf_full
那就大功告成了(親測)
printf和rt_vsnprintf_full補丁包ROM都是8KB,所以不用糾結(jié)。
-
ROM
+關(guān)注
關(guān)注
4文章
578瀏覽量
87170 -
STM32
+關(guān)注
關(guān)注
2291文章
11022瀏覽量
363424 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1385瀏覽量
41675 -
裸機
+關(guān)注
關(guān)注
0文章
40瀏覽量
6661 -
gcc編譯器
+關(guān)注
關(guān)注
0文章
78瀏覽量
3694
發(fā)布評論請先 登錄
ESP8266_RTOS_SDK如何打印浮點數(shù)?
PRINTF函數(shù)無法打印出浮點數(shù)內(nèi)容是為什么?
怎樣去解決RT-Thread浮點數(shù)打印的問題呢
rt-thread-studio不支持printf打印浮點數(shù)要怎么添加編譯選項?
浮點數(shù)的表示方法

浮點數(shù)常用的編碼方法

FLASH存儲浮點數(shù)據(jù)的解決辦法

談一談浮點數(shù)的精度問題

評論