在我正在进行的这个项目之前,我从来没有使用keil
,但我总是能够说printf(“你好”);它有效。
但是对于keil
,我不会在调试(printf
)查看器中显示此内容
我在整个主要功能中都散布了这样的陈述,但没有打印出来
我需要做些什么才能让它发挥作用吗?
答案 0 :(得分:1)
您必须retarget the library才能匹配您的硬件和/或开发环境。通常,最小重新定位会将stdio映射到UART - 尽管您可以实现完整的文件系统。
如果您希望stdout数据出现在 Debug(printf)窗口中,您已按照here所述实现了重定目标以写入ITM激励端口。然后,输出到stdout的任何数据都将显示在调试窗口中 - 而不仅仅是printf
。
库是可重定向的,因为您可以使用stdio来满足应用程序需求,而不仅仅是调试。使用UART进行stdio而非ITM的优点是它是双向的,并且无需附加调试器即可工作,因此您可能需要在任何情况下考虑这一点。