重定向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);
}
相关推荐
C灿灿数模18 分钟前
2025国赛数学建模C题详细思路模型代码获取,备战国赛算法解析——决策树
c语言·算法·数学建模
凤年徐2 小时前
【数据结构与算法】刷题篇——环形链表的约瑟夫问题
c语言·数据结构·c++·算法·链表
Star在努力2 小时前
20-C语言:第21~22天笔记
java·c语言·笔记
艾莉丝努力练剑3 小时前
【C/C++】形参、实参相关内容整理
c语言·开发语言·c++·学习
JasmineX-13 小时前
STM32的SPI通信(硬件读取W25Q64)
c语言·stm32·单片机·嵌入式硬件
Naiva4 小时前
【兆易创新】单片机GD32F103C8T6系列入门资料
单片机·嵌入式硬件
Crazy learner4 小时前
深入理解 C 语言中的拷贝函数
服务器·c语言·网络
WD137298015574 小时前
400V降24V,200mA,应用领域:从生活到工业的 “全能电源管家”WD5208
stm32·单片机·嵌入式硬件·51单片机
欲儿4 小时前
Kotlin Native调用C curl
c语言·开发语言·kotlin·语言调用
草莓熊Lotso4 小时前
【数据结构初阶】--排序(四):归并排序
c语言·数据结构·经验分享·其他·算法·排序算法