重定向printf、或者USARTX_printf()(hal库)

目录

重定向printf

USARTX_printf()


打开工程模板

复制工程模板

配置

重定向printf

在usart.h添加

cs 复制代码
#include "stdio.h"

在usart.c添加

cs 复制代码
/* 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添加

cs 复制代码
#include "stdio.h"
#include "stdarg.h"
#include "string.h"

添加声明

cs 复制代码
void Usart1_printf(char *format,...);

在usart.c添加

cs 复制代码
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);
}
相关推荐
沐欣工作室_lvyiyi1 小时前
基于物联网的体温心率监测系统设计(论文+源码)
单片机·物联网·毕业设计·体温心率检测
程序员老舅2 小时前
干货|腾讯 Linux C/C++ 后端开发岗面试
linux·c语言·c++·编程·大厂面试题
小莞尔4 小时前
【51单片机】【protues仿真】基于51单片机火灾报警系统
单片机·嵌入式硬件
qiuiuiu4135 小时前
正点原子RK3568学习日志-编译第一个驱动程序helloworld
linux·c语言·开发语言·单片机
易享电子5 小时前
基于单片机智能台灯(调光,时钟)系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
爱吃橘的橘猫5 小时前
嵌入式系统与嵌入式 C 语言(2)
c语言·算法·嵌入式
hazy1k6 小时前
51单片机基础-动态数码管显示
stm32·单片机·嵌入式硬件·51单片机
Heavy sea6 小时前
STM32 DMA直接存储器访问(寄存器与HAL库实现)
stm32·单片机
漫夜8556 小时前
MCU和GPIO (1)
单片机·嵌入式硬件
点灯小铭7 小时前
基于单片机的智能洗碗机设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计