目录
重定向printf
USARTX_printf()
打开工程模板
复制工程模板
配置
重定向printf
在usart.h添加
#include "stdio.h"
在usart.c添加
/* USER CODE BEGIN 1 */
int fputc(int ch,FILE *f)
{
HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,HAL_MAX_DELAY);//重定向串口1
return ch;
}
/* USER CODE END 1 */
打开串口助手测试
USARTX_printf()
如果printf已经被其他串口占用
在usart.h添加
#include "stdio.h"
#include "stdarg.h"
#include "string.h"
添加声明
void Usart1_printf(char *format,...);
在usart.c添加
void Usart1_printf(char *format,...)
{
char TxStringBuff[100];
uint8_t length=0;
va_list arg;
va_start(arg,format);
vsprintf(TxStringBuff,format,arg);
va_end(arg);
length=strlen((const char*)TxStringBuff);
HAL_UART_Transmit_IT(&huart1, (uint8_t *)TxStringBuff, length);
}