使用環境:
整合開發平台: keil uvision 4.10
微控制器: stm32f107vct6
欲使用printf()函式實現串列埠列印功能,我們需要完成下面四個任務:
1、開啟keil的target option對話方塊,在target標籤中的code generation組中將use microlib選項打上勾。
2、在程式中包含標準庫標頭檔案stdio.h
3、配置微控制器的串列埠外設(傳送完成中斷關閉。接收完成中斷可根據應用的需要開啟或關閉)。
4、在程式中編寫字元輸出函式fputc()
例:int fputc(int c , file *f)
usart_senddata(com1,(uint8_t)c);
return c;
}注:1、對於某串列埠,應用程式中在使用printf()函式的同時,我們還可以另外根據需要重新編寫該串列埠的傳送和接收資料(例如非字串)的通訊函式。
2、在傳送資料不使用中斷的情況下,不管程式中實不實現printf()功能,串列埠的配置可以是相同的。
printf()重定義STC串列埠列印問題
這兩天除錯乙個stc的專案,由於沒法debug所以想要用printf 重定義stc串列埠列印出來除錯,但是出現了一些問題 問題如下 st getkeynum 輸出 printf getkeynum 02x st printf r n 接下來看到串列埠列印的資料是這樣的 可以看到我輸出的是兩位16進製...
通過串列埠實現printf和scanf函式
在做裸板開發時,常常需要通過輸出或者通過串列埠輸入一些資訊。在有作業系統機器上,我們很少關心輸入和輸出的問題。因為有很多現成的庫函式供我們呼叫。在做裸板開發時,可沒有現成庫函式供我們呼叫,一切都需要我們自己實現。下面我們通過串列埠在裸板上實現乙個printf和scanf函式。printf主要用來進行...
通過串列埠實現printf和scanf函式
草根老師部落格 程姚根 在做裸板開發時,常常需要通過輸出或者通過串列埠輸入一些資訊。在有作業系統機器上,我們很少關心輸入和輸出的問題。因為有很多現成的庫函式供我們呼叫。在做裸板開發時,可沒有現成庫函式供我們呼叫,一切都需要我們自己實現。下面我們通過串列埠在裸板上實現乙個printf和scanf函式。...