串口助手輸出亂碼或無輸出問題

問題描述:使用stm32的板子下載好程序以後,想經過串口助手查看調試結果卻發現串口沒有輸出或者輸出的是亂碼。函數

情景一:若是你想要使用c標準中的printf函數打印字符到串口助手,那麼你須要先重定義fputc函數,這樣才能夠正常使用printf函數。spa

/******************************************************
*@brief 重定義fputc函數
*@param ch:返回的字符
*     
*******************************************************/
int fputc(int ch, FILE *f)
{     
    USART_SendData(USART1,ch);
    while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);  
    return ch;
}   

 

情景二:若是你的fputc函數已經重定義了,可是仍是輸出不了字符,那麼有多是如下問題:調試

問題1:keil軟件中沒有配置好,具體配置方法以下:code

 一、選擇輸出中文選項blog

  

                             

二、勾選Use MicroLIBclass

 

問題2:時鐘的頻率沒有修改正確,具體修改步驟以下亂碼

一、修改頻率bfc

 

 

二、修改頻率的時候若是文件有沒有寫入權限,咱們須要先把只讀權限去掉具體操做以下:軟件

 

 

 

注意一下,修改完頻率以後,記得從新把文件的寫權限加上,從新把文件的只讀屬性勾選上便可。配置

以上是我在實踐中遇到的串口助手輸出的問題,可能還有其餘的狀況我沒有發現,若是朋友們有其餘的問題或者有更好的解決方法,但願留下大家的寶貴意見。

相關文章
相關標籤/搜索