这两种printf()函数重定向方法,太实用了

💡 原文中文,约2400字,阅读约需6分钟。
📝

内容提要

本文介绍了在STM32项目中植入printf()函数的两种策略。第一种策略是使用MicroLIB库,需要重定向fputc()函数。第二种策略是使用半主机模式,取消ARM的半主机工作模式。在不使用MicroLIB的前提下,仍能使用printf()函数将调试信息打印到USART1上。

🎯

关键要点

  • 本文介绍了在STM32项目中植入printf()函数的两种策略。

  • 策略1:采用MicroLIB库,需要重定向fputc()函数。

  • MicroLib是缺省c库的备选库,适用于嵌入式应用程序。

  • MicroLib不符合ISO C库标准,功能较少,且代码高度优化。

  • 重定向fputc()函数以将调试信息打印到USART1。

  • 策略2:不使用MicroLIB库,采用半主机模式。

  • 半主机模式允许ARM应用程序通过主机的显示器和键盘进行输入/输出。

  • 需要取消ARM的半主机工作模式以避免链接MicroLib的相关函数。

  • 提供了实现代码以在不使用MicroLib的情况下使用printf()函数。

🏷️

标签

➡️

继续阅读