串口實(shí)驗(yàn)printf輸出是亂碼
解決辦法:編寫fputc函數(shù)如下:
int
{
}
問題2(與編譯軟件有關(guān)):重定向函數(shù)fputc編寫無誤,使用的是MDK4.22-3.40之間的編譯環(huán)境,未使用微庫(kù),即MiclroLIB,因printf()之類的函數(shù),使用了半主機(jī)模式。使用微庫(kù)的話,不會(huì)使用半主機(jī)模式,所以就沒有問題。
解決辦法:在option
問題3:重定向函數(shù)fputc編寫無誤,不用微庫(kù),即MiclroLIB,依然可以使用printf
解決辦法:
在程序中加入如下語句:
#pragma
_sys_exit(int
{
x
}
struct
{
int
};
FILE
此代碼功能用于避免使用semhosting(半主機(jī)模式)
問題4:使用的是MDK4.22-3.40之間的編譯環(huán)境,不想使用微庫(kù),也不想加入問題三語句。
解決辦法:
更換低版本的MDK,3.4以下吧,本人試驗(yàn)使用mdk3.24不勾選MiclroLIB,也不加入問題三語句,能夠正常使用printf,無任何問題。
評(píng)論