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

相关推荐
北域码匠6 小时前
高通滤波算法深度解析(High-Pass Filter)
stm32·算法·c#·数字信号处理·嵌入式开发·滤波算法·高通滤波
star learning white7 小时前
STM32入门学习5
stm32·嵌入式硬件·学习
新晨单片机设计7 小时前
S006A-基于STM32单片机温湿度检测系统【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus
逐步前行9 小时前
ESP32-S3-分区表(Partition Table)
单片机
星河单片机9 小时前
STM32驱动HS‑S37A水位传感器+OLED完整实验讲解
stm32·单片机·嵌入式硬件
代码不接地10 小时前
【EDA】0.公共部分&元件库设计
嵌入式硬件
一条破秋裤10 小时前
16_TIM编码器接口测速
笔记·stm32·学习
糖糖单片机设计11 小时前
STM32水稻苗大棚环境监测系统
stm32·单片机·嵌入式硬件
star learning white12 小时前
STM32入门学习3
stm32·单片机·学习
jianqiang.xue12 小时前
审查技能库(上):内存安全四件套
stm32·单片机·物联网·架构·esp32