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函数对串口进行操作
#include "stdio.h"
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函数对串口进行操作
#include "stdio.h"
举报