(目前master分支已無(wú)該問(wèn)題,RT_ALIGN_SIZE默認(rèn)為8了)主要講講MounRiver Studio下的浮點(diǎn)打?。≧TT Studio)問(wèn)題,RT-Thread Studio的話(huà)我沒(méi)試過(guò),不過(guò)論壇里的一些vsnprintf替換rt_vsnprintf應(yīng)該是不可行的(gcc下 ch32v會(huì)拋出線(xiàn)程錯(cuò)誤,其它的keil或許可以,不過(guò)沒(méi)試過(guò))。
MounRiver Studio比較特殊,網(wǎng)上的方法都不行,要么浮點(diǎn)打印失敗,要么引發(fā)rtthread錯(cuò)誤,中間試了很多方法,涉及到一些編譯器C庫(kù)之類(lèi)的,過(guò)程就不贅述了,
直接說(shuō)結(jié)論和方法
MounRiver Studio裸機(jī)開(kāi)發(fā)ch32想printf浮點(diǎn)的話(huà)(ch32官方已經(jīng)為我們實(shí)現(xiàn)了printf重定向,如果其它芯片比如stm32就要自己重定向一下),需要勾選一個(gè)選項(xiàng),如圖:
rt_kprintf打印浮點(diǎn)需要一個(gè)補(bǔ)丁包rt_vsnprintf_full
浮點(diǎn)問(wè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é)。
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
ROM
-
STM32
-
RT-Thread
-
裸機(jī)
-
gcc編譯器
相關(guān)推薦
嘗試使用 printf 打印浮點(diǎn)數(shù),例如,
浮點(diǎn)數(shù) d = 1.0;
printf("d = %f", d);
但它打印出來(lái):
d =
此外,sprintf
發(fā)表于 07-09 06:56
如何打印浮點(diǎn)數(shù)或雙精度變量?
發(fā)表于 07-12 08:24
浮點(diǎn)數(shù)無(wú)法打印顯示出來(lái),有地方可以修改嗎?
發(fā)表于 08-10 07:29
(目前master分支已無(wú)該問(wèn)題,RT_ALIGN_SIZE默認(rèn)為8了)主要講講MounRiver Studio下的浮點(diǎn)打印(RTT Studio)問(wèn)題,RT-Thread Studi
發(fā)表于 02-07 11:49
rt-thread-studio不支持printf打印浮點(diǎn)數(shù),是否可以添加編譯選擇支持打印浮點(diǎn),要怎么添加編譯選項(xiàng)
發(fā)表于 09-07 16:42
浮點(diǎn)數(shù)的表示方法 浮點(diǎn)數(shù),是指小數(shù)點(diǎn)在數(shù)據(jù)中的位置可以左右移動(dòng)的數(shù)據(jù)。它通常被表示成: N = M* RE 這里的M(Mantissa)被稱(chēng)為浮點(diǎn)數(shù)的
發(fā)表于 10-13 17:13
?1.6w次閱讀
浮點(diǎn)數(shù)常用的編碼方法 前面已經(jīng)說(shuō)到,在計(jì)算機(jī)內(nèi),浮點(diǎn)數(shù)被表示為如下格式: 通常情況
發(fā)表于 10-13 17:21
?4516次閱讀
本文為大家介紹modbus讀取浮點(diǎn)數(shù)的兩個(gè)程序設(shè)計(jì)。
發(fā)表于 02-08 10:03
?1.5w次閱讀
需求: 參數(shù)的數(shù)據(jù)類(lèi)型為浮點(diǎn)數(shù)據(jù),需要存儲(chǔ)至FLASH中。解決辦法:采用聯(lián)合體聯(lián)合體特性:聯(lián)合體內(nèi)的參數(shù),共用一塊內(nèi)存。案例://構(gòu)建聯(lián)合體數(shù)據(jù)結(jié)構(gòu)typedef union{ float
發(fā)表于 12-02 12:21
?6次下載
還是要從浮點(diǎn)數(shù)的存儲(chǔ)和標(biāo)識(shí)出發(fā)來(lái)處理該問(wèn)題,既然浮點(diǎn)數(shù)天然就存在一定的誤差,而有時(shí)候計(jì)算又無(wú)法獲得唯一的數(shù)值,如下圖所示,浮點(diǎn)數(shù)計(jì)算出來(lái)的實(shí)軸上的值都會(huì)因?yàn)?b class='flag-5'>浮點(diǎn)數(shù)無(wú)法存儲(chǔ)標(biāo)識(shí)而近似到其
發(fā)表于 08-11 14:28
?4660次閱讀
浮點(diǎn)型簡(jiǎn)單講就是實(shí)數(shù)的意思。浮點(diǎn)數(shù)在計(jì)算機(jī)中用以近似表示任意某個(gè)實(shí)數(shù)。
發(fā)表于 11-09 11:07
?5466次閱讀
RT-Thread文檔_RT-Thread 簡(jiǎn)介
發(fā)表于 02-22 18:22
?5次下載
RT-Thread文檔_RT-Thread SMP 介紹與移植
發(fā)表于 02-22 18:31
?9次下載
Python數(shù)據(jù)類(lèi)型第一種:字符串(str)。
Python數(shù)據(jù)類(lèi)型第二種:整數(shù)(int)。
Python數(shù)據(jù)類(lèi)型第三種:浮點(diǎn)數(shù),浮點(diǎn)數(shù)的英文名是float,浮點(diǎn)數(shù)沒(méi)有簡(jiǎn)寫(xiě)。
發(fā)表于 02-23 14:58
?4675次閱讀
Modbus是一種通信協(xié)議,常用于工業(yè)自動(dòng)化系統(tǒng)中的設(shè)備之間的通信。它支持多種數(shù)據(jù)類(lèi)型,包括整數(shù)、浮點(diǎn)數(shù)、字符串等。浮點(diǎn)數(shù)在工業(yè)領(lǐng)域中廣泛應(yīng)用,因此了解如何讀取和處理Modbus浮點(diǎn)數(shù)是非
發(fā)表于 12-28 14:38
?6545次閱讀
評(píng)論