<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 串口實(shí)驗printf輸出是亂碼

串口實(shí)驗printf輸出是亂碼

作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò ) 收藏
問(wèn)題1(與編譯軟件無(wú)關(guān)):在程序中加入printf語(yǔ)句實(shí)現串口輸出,但未寫(xiě)重定向函數fputc,出現編譯無(wú)任何警號和錯誤直接下載無(wú)法運行,軟件仿真可以運行至MAIN函數,硬件仿真在匯編窗口看到停留在“0x0800XXXXBEABBKPT0xAB//進(jìn)入調試模式”處無(wú)法繼續運行。

解決辦法:編寫(xiě)fputc函數如下:
intfputc(intch,FILE*f)
{
USART_SendData(USART1,(uint8_t)ch);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET)
{}
returnch;
}

問(wèn)題2(與編譯軟件有關(guān)):重定向函數fputc編寫(xiě)無(wú)誤,使用的是MDK4.22-3.40之間的編譯環(huán)境,未使用微庫,即MiclroLIB,因printf()之類(lèi)的函數,使用了半主機模式。使用微庫的話(huà),不會(huì )使用半主機模式,所以就沒(méi)有問(wèn)題。

解決辦法:在optionfortarget->target對話(huà)框中,選擇UseMiclroLIB,重新編譯程序即可。

問(wèn)題3:重定向函數fputc編寫(xiě)無(wú)誤,不用微庫,即MiclroLIB,依然可以使用printf

解決辦法:
在程序中加入如下語(yǔ)句:
#pragmaimport(__use_no_semihosting)
_sys_exit(intx)
{
x=x;
}
struct__FILE
{
inthandle;



};

FILE__stdout;

此代碼功能用于避免使用semhosting(半主機模式)

問(wèn)題4:使用的是MDK4.22-3.40之間的編譯環(huán)境,不想使用微庫,也不想加入問(wèn)題三語(yǔ)句。

解決辦法:
更換低版本的MDK,3.4以下吧,本人試驗使用mdk3.24不勾選MiclroLIB,也不加入問(wèn)題三語(yǔ)句,能夠正常使用printf,無(wú)任何問(wèn)題。


評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>