重定向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);
}
相关推荐
南城花随雪。11 分钟前
单片机:实现驱动超声波(附带源码)
单片机·嵌入式硬件
嵌入式科普11 分钟前
十三、从0开始卷出一个新项目之瑞萨RZN2L串口DMA接收不定长
c语言·stm32·瑞萨·e2studio·rzn2l
小林熬夜学编程2 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Jackey_Song_Odd2 小时前
C语言 单向链表反转问题
c语言·数据结构·算法·链表
A懿轩A3 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
半盏茶香3 小时前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
字节高级特工4 小时前
【C++】深入剖析默认成员函数3:拷贝构造函数
c语言·c++
计算机学长大白5 小时前
C中设计不允许继承的类的实现方法是什么?
c语言·开发语言
yutian06069 小时前
Keil MDK下载程序后MCU自动重启设置
单片机·嵌入式硬件·keil
XH华11 小时前
初识C语言之二维数组(下)
c语言·算法