问题描述:使用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
二、修改频率的时候若是文件有没有写入权限,咱们须要先把只读权限去掉具体操做以下:软件
注意一下,修改完频率以后,记得从新把文件的写权限加上,从新把文件的只读属性勾选上便可。配置
以上是我在实践中遇到的串口助手输出的问题,可能还有其余的状况我没有发现,若是朋友们有其余的问题或者有更好的解决方法,但愿留下大家的宝贵意见。