您现在的位置是:首页 >科技 > 2025-03-24 03:14:07 来源:

💻STM32中printf重定向到串口 🚀

导读 在STM32开发中,将`printf`重定向到串口是一个非常实用的技巧,它能帮助我们快速调试程序,查看运行日志。通常情况下,`printf`默认输出到...

在STM32开发中,将`printf`重定向到串口是一个非常实用的技巧,它能帮助我们快速调试程序,查看运行日志。通常情况下,`printf`默认输出到标准输出设备(如终端),但在嵌入式环境中,我们需要将其引导向串口,以便通过串口助手观察结果。

首先,确保你的工程已正确配置了串口通信。这包括设置USART相关寄存器,比如波特率、数据位、停止位等。接着,在代码中加入以下

```c

pragma weak _write = my_write

int my_write(int handle, char str, int len) {

for (int i = 0; i < len; i++) {

while (!(USART1->SR & USART_SR_TXE)) {} // 等待发送缓冲区空闲

USART1->DR = (uint8_t)(str++);// 发送字符

}

return len;

}

```

上述代码通过重定义`_write`函数,实现了`printf`到串口的数据传输。完成后,你就可以直接使用`printf("Hello, STM32! 🌟");`来打印信息啦!

这种方法不仅提升了开发效率,还让调试过程更加直观。💡 想象一下,当你看到串口助手中实时滚动的日志时,是不是有种掌控全局的感觉呢?🌟