(目前master分支已無該問題,RT_ALIGN_SIZE默認(rèn)為8了)主要講講MounRiver Studio下的浮點(diǎn)打?。≧TT Studio)問題,RT-Thread Studio的話我沒試過,不過論壇里的一些vsnprintf替換rt_vsnprintf應(yīng)該是不可行的(gcc下 ch32v會(huì)拋出線程錯(cuò)誤,其它的keil或許可以,不過沒試過)。
MounRiver Studio比較特殊,網(wǎng)上的方法都不行,要么浮點(diǎn)打印失敗,要么引發(fā)rtthread錯(cuò)誤,中間試了很多方法,涉及到一些編譯器C庫之類的,過程就不贅述了,
直接說結(jié)論和方法
MounRiver Studio裸機(jī)開發(fā)ch32想printf浮點(diǎn)的話(ch32官方已經(jīng)為我們實(shí)現(xiàn)了printf重定向,如果其它芯片比如stm32就要自己重定向一下),需要勾選一個(gè)選項(xiàng),如圖:

rt_kprintf打印浮點(diǎn)需要一個(gè)補(bǔ)丁包rt_vsnprintf_full
浮點(diǎn)問題解決了,大佬回復(fù)很快?。ㄟ@里感謝大佬@mysterywolf),將rtconfig.h里的字節(jié)對(duì)齊宏改為8,
#define RT_ALIGN_SIZE 8
之后如果想用printf的,就是要勾選我前面提到的Use wchprintfloat(其它芯片和IDE重定向printf并修改字節(jié)對(duì)齊)
想用rt_kprintf的,就要添加一個(gè)補(bǔ)丁包
rt_vsnprintf_full
那就大功告成了(親測(cè))
printf和rt_vsnprintf_full補(bǔ)丁包ROM都是8KB,所以不用糾結(jié)。
-
ROM
+關(guān)注
關(guān)注
4文章
578瀏覽量
88384 -
STM32
+關(guān)注
關(guān)注
2302文章
11109瀏覽量
370331 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1516瀏覽量
44010 -
裸機(jī)
+關(guān)注
關(guān)注
0文章
40瀏覽量
6885 -
gcc編譯器
+關(guān)注
關(guān)注
0文章
78瀏覽量
3898
發(fā)布評(píng)論請(qǐng)先 登錄
ESP8266_RTOS_SDK如何打印浮點(diǎn)數(shù)?
PRINTF函數(shù)無法打印出浮點(diǎn)數(shù)內(nèi)容是為什么?
怎樣去解決RT-Thread浮點(diǎn)數(shù)打印的問題呢
rt-thread-studio不支持printf打印浮點(diǎn)數(shù)要怎么添加編譯選項(xiàng)?
浮點(diǎn)數(shù)的表示方法
浮點(diǎn)數(shù)常用的編碼方法
modbus 如何讀取浮點(diǎn)數(shù)
FLASH存儲(chǔ)浮點(diǎn)數(shù)據(jù)的解決辦法
談一談浮點(diǎn)數(shù)的精度問題
什么是浮點(diǎn)數(shù)?浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)

RT-Thread浮點(diǎn)數(shù)打印的問題及其解決辦法
評(píng)論