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

相关推荐
future141229 分钟前
MCU硬件学习
单片机·嵌入式硬件·学习
GilgameshJSS1 小时前
STM32H743-ARM例程24-USB_MSC
c语言·arm开发·stm32·单片机·嵌入式硬件
小莞尔2 小时前
【51单片机】【protues仿真】基于51单片机电压测量多量程系统
c语言·单片机·嵌入式硬件·物联网·51单片机
showmethetime2 小时前
STM32实现LED舞台灯具控制
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi2 小时前
基于单片机的智能电力参数测量 (论文+源码)
单片机·嵌入式硬件·毕业设计·电力参数测量
python百炼成钢2 小时前
3.Linux 网络相关
linux·运维·网络·stm32·单片机
XiangrongZ3 小时前
江协科技STM32课程笔记(五)— ADC模数转换器
笔记·科技·stm32
PegasusYu5 小时前
STM32配置读取激光测距传感器VL6180X距离数据
stm32·vl6180·接近传感器·stm32g030·激光测距·飞行时间·vl6180x
mc23566 小时前
STM32F103C8T6--深入GPIO
stm32·单片机·嵌入式硬件
兆龙电子单片机设计6 小时前
【STM32项目开源】STM32单片机智能家居控制系统
stm32·单片机·物联网·开源·毕业设计·智能家居