我正在使用STMdiscovery板,我在主板上安装了freertos并使LED成功闪烁,现在我想在某些终端上输出一些printf语句(我认为freertos支持STDIO)。任何人都可以指导如何执行此操作以及一些有助于执行此操作的文档。
答案 0 :(得分:0)
printf()如何工作是您正在使用的工具的一个功能,而不是FreeRTOS。如果您使用专门为嵌入式开发提供的工具,那么它们将提供指导printf()输出的选项 - 通常在该类型的嵌入式系统中输出将被定向到UART或UDP端口,在STM32上您可以使用ETM 。
如果您使用的是通用GCC工具,那么您将需要做更多的工作来自己提供输出功能。
但是,您需要在小型多线程系统中使用printf()。它很少是线程安全的,可以占用大量的堆栈,输出字符所花费的时间可能会中断你的应用程序。
当您使用FreeRTOS时,请考虑使用类似FreeRTOS + CLI的内容:http://www.freertos.org/cli