您现在的位置是:首页 >科技 > 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! 🌟");`来打印信息啦!
这种方法不仅提升了开发效率,还让调试过程更加直观。💡 想象一下,当你看到串口助手中实时滚动的日志时,是不是有种掌控全局的感觉呢?🌟