💻STM32中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! 🌟");`来打印信息啦!
这种方法不仅提升了开发效率,还让调试过程更加直观。💡 想象一下,当你看到串口助手中实时滚动的日志时,是不是有种掌控全局的感觉呢?🌟
免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。