天天看点

STM32 hal_printf重定向操作STM32 hal_printf重定向操作

STM32 hal_printf重定向操作

只需要在uart.c文件中添加如下代码,

#include "stdio.h"
 
  /*fputc*/
  int fputc(int ch, FILE * f)
  {

    HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,1000);
    return ch;
  }

  /*fgetc*/
int fgetc(FILE *f)
{	
	int ch;
	while (__HAL_UART_GET_FLAG(&huart1, UART_FLAG_RXNE) == RESET);
	HAL_UART_Receive(&huart1, (uint8_t *)&ch, 1, 1000);	
	return (ch);
}
           

在main.c文件中添加如下头文件,即可使用printf函数对串口进行操作

继续阅读