ST意法半导体
直播中

绝代双骄

11年用户 1067经验值
私信 关注
[问答]

STM32CubdeIDE怎样才能在DEBUG模式下将某些消息打印到UART上呢

你好。我只想在 DEBUG 模式下将某些消息打印到 UART。在发布模式下不需要这些打印件。
我尝试了以下方法:
  • #ifdef DEBUG
  •           printf("hello from debug n");
  • #endif
然后我为发布和调试构建了项目,但在这两种情况下都会打印消息。我怎样才能只在调试模式下打印消息而不是在发布模式下打印?

回帖(1)

康振清

2022-12-27 14:22:53
“我已经手动将 DEBUG 变量设置为 0,因此如果我理解正确的话,调试 printf 应该不会工作”

你误会了。

我之前解释过这个:


  • #define DEBUG 0

DEBUG 的定义;您已将其定义为零 - 因此定义!

所以


  • #ifdef DEBUG

将为- 因此将启用所有打印件。

“'ifdef”表示“如果已定义”

如果要测试已经定义的值,需要:


  • #if DEBUG == 1
  •           #define DEBUG_PRINT(X) printf X
  • #else
  •           #define DEBUG_PRINT(X)
  • #endif

举报

更多回帖

发帖
×
20
完善资料,
赚取积分