stm32在keil5下重定向printf

时间:2024-04-09 08:46:24

简述

在单片机开发中,难免需要用到串口进行通信调试,对于部分人来讲习惯了使用printf进行打印输出,本文记录了该实现方法。

环境

软件:keil5、pc端串口调试助手
硬件:usb转ttl串口模块,stm32最小系统

要点

此处只记录关键步骤,其他的请参阅相关资料。
1.在工程设置Target中勾选Use MicroLiB如下图所示:
stm32在keil5下重定向printf2.在串口操作的源文件中加入以下代码

int fputc(int ch, FILE *f)
{
/* 将Printf内容发往串口 */
  USART_SendData(USART1, (unsigned char) ch);
  while (!(USART1->SR & USART_FLAG_TXE));
 
  return (ch);
}

完成以上步骤后,跟平常配置完串口后,直接使用printf就可以通过串口助手接收到单片机发出的信息。亲测有效,如有问题欢迎讨论交流。