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

相关推荐
getapi35 分钟前
51单片机烧录程序演示教程
stm32·单片机·51单片机
我不是程序猿儿3 小时前
【C#】一种优雅的基于winform的串口通信管理
stm32·单片机·c#
六六六六六66664 小时前
STM32中Hz和时间的转换
stm32·单片机·嵌入式硬件
南泽兆5 小时前
超低功耗MCU软件开发设计中的要点与选型推荐
单片机·mcu·iot·小华半导体·如何做好超低功耗mcu开发·超低功耗mcu设计要点·超低功耗mcu国产如何选型
龙大大L6 小时前
第五章:5.1 ESP32物联网应用 - MQTT协议深度教程
java·单片机·struts·apache
傍晚冰川7 小时前
【STM32】解读启动文件startup_stm32f10x_md.s
linux·笔记·stm32·单片机·学习
飞凌嵌入式8 小时前
飞凌嵌入式T527核心板正式发布OpenHarmony4.1系统,实现从芯片架构到操作系统的全链路国产化
人工智能·嵌入式硬件·嵌入式·飞凌嵌入式
myzr1238 小时前
明远智睿SSD2351核心板在物联网领域的应用实践
人工智能·嵌入式硬件·物联网·智能家居·边缘计算
不不不丶9 小时前
STM32——DAC转换
stm32·单片机·嵌入式硬件
Ven%12 小时前
电脑的usb端口电压会大于开发板需要的电压吗
人工智能·单片机·嵌入式硬件