重定向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);
}
相关推荐
艾莉丝努力练剑2 小时前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
weixin_580382066 小时前
UART寄存器介绍
stm32·单片机·嵌入式硬件
不知道叫什么呀7 小时前
【C】vector和array的区别
java·c语言·开发语言·aigc
秋说8 小时前
【PTA数据结构 | C语言版】顺序队列的3个操作
c语言·数据结构·算法
wind_one110 小时前
STM32小实验1--点亮LED
stm32·单片机·嵌入式硬件
秋说10 小时前
【PTA数据结构 | C语言版】字符串插入操作(不限长)
c语言·数据结构·算法
遇见尚硅谷12 小时前
C语言:20250714笔记
c语言·开发语言·数据结构·笔记·算法
Ronin-Lotus13 小时前
嵌入式硬件篇---单稳态&多谐&施密特电路
单片机·嵌入式硬件
Cyrus_柯15 小时前
单片机(STM32-串口通信)
stm32·单片机·嵌入式硬件·串口通信协议
koooo~19 小时前
JavaScript 与 C语言基础知识差别
c语言·开发语言·javascript