stm32使用printf重定向到usart1

原文出处:https://www.cnblogs.com/shangdawei/p/3970489.html
 
一、对工程属性进行配置,详细步骤如下
 
1、首先要在你的main 文件中 包含“stdio.h” (标准输入输出头文件)。
 
2、在main文件中重定义<fputc>函数    如下:
复制代码
// 发送数据
   int fputc(int ch, FILE *f)
   {
      USART_SendData(USART1, (unsigned char) ch);// USART1 可以换成 USART2 等
      while (!(USART1->SR & USART_FLAG_TXE));
      return (ch);
   }
   // 接收数据
   int GetKey (void)  
{ while (!(USART1->SR & USART_FLAG_RXNE)); return ((int)(USART1->DR & 0x1FF)); }
复制代码
这样在使用printf时就会调用自定义的fputc函数,来发送字符。
 
3、在工程属性的 “Target" -> "Code Generation" 选项中勾选 "Use MicroLIB"
   MicroLIB 是缺省C的备份库,关于它可以到网上查找详细资料。

posted on 2018-06-14 09:25  come_on_hands  阅读(1246)  评论(0编辑  收藏  举报

导航