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的备份库,关于它可以到网上查找详细资料。

猜你喜欢

转载自www.cnblogs.com/ldcb/p/9181485.html