STM32重定向printf到串口(重写fputc不生效)

使用STM32开发,想用printf把输出打印到串口,需要重定向printf函数。

网上一搜全都是重写fpuc的,但这只针对使用了MicroLIB的情况,如果你使用STM32CubeMX配置了CMake或者Makefile项目,这种方法是根本不可行的,重写fputc没有鸟用。

这个时候需要重写_write函数,如下:

复制代码
/// 重写_write,重定向到日志输出串口
int _write(int file, char *ch, int len)
{
    HAL_UART_Transmit(&UART_LOG, (uint8_t *)ch, 1, 10);
    return 1;
}

如果你的波特率非常低,10ms都传不完一个字节,那就把HAL_UART_Transmit函数的最后一个参数(超时时间)改长一点。

同步发布在简书:https://www.jianshu.com/p/0bd6ee925e1c?v=1719323174816

相关推荐
Ma_si5 分钟前
PyLink 使用指南
网络·python·嵌入式硬件
岂是尔等觊觎38 分钟前
PCB设计教程【入门篇】——电路分析基础-基本元件(二极管三极管场效应管)
经验分享·笔记·嵌入式硬件·学习·pcb工艺
青春不张扬1 小时前
S32K开发环境搭建详细教程(二、添加S32K3xx SDK)
单片机
2401_859049082 小时前
Git使用
arm开发·git·stm32·单片机·mcu·算法
辰哥单片机设计2 小时前
STM32项目分享:智能家居(机智云)升级版
stm32·嵌入式硬件·智能家居
2301_800399723 小时前
STM32 USART串口通信
stm32·单片机·嵌入式硬件
小程同学>o<3 小时前
嵌入式开发之STM32学习笔记day10
经验分享·笔记·stm32·单片机·嵌入式硬件·学习
一枚码农出身的猎头6 小时前
【招聘】硬件工程师/项目经历/产品经理(智能水电表、AIOT硬件方向)
嵌入式硬件·产品经理·智能硬件
岂是尔等觊觎7 小时前
PCB设计教程【入门篇】——电路分析基础-元件数据手册
经验分享·笔记·嵌入式硬件·学习·pcb工艺
#眼镜&7 小时前
STC89C52RC/LE52RC
嵌入式硬件