.h文件
extern UART_HandleTypeDef UART1_Handler;
void my_printf(char *str1,...) _ATTRIBUTE ((__format__ (__printf__, 1, 2)));
.c文件
#include "stdarg.h"
UART_HandleTypeDef UART1_Handler;
void my_printf(char *str1,...){
u8 len;
char dat[200];
va_list args;
va_start(args, str1);
len= sprintf(dat,str1,va_arg(args, char*));
HAL_UART_Transmit(&UART1_Handler,(uint8_t*)dat,len,HAL_GetTick());
while(__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TC)!=SET);
va_end(args);
}
自己是集成在正点原子的SYSTEM/usart .c/.h文件中