调试完成后, 需要关闭所有输出到串口 0 的信息, 也就是关闭 printf, 在那个地方设置?
查看更多
你这个问题感觉问的不明白啊, 你自己写代码的时候, printf 前后用 自己定义的宏控制一下不就好了, 例如这样
#ifdef DEBUG_PRINT printf ("demo test \r\n") ; #endif
或者找到 libc_port. c 找到里面的 fputc 函数, 把里面的发送字符函数屏蔽了这都是可以的
int fputc (int ch, FILE *stream) { (void) stream; #if USE_UART0_PRINT sendchar (ch) ; #else sendchar1 (ch) ; #endif return 0; }
我很好奇 你为啥要屏蔽 printf? ? /
还有一个方法, 就是在 init 初始化中, 关闭串口 0
如果你是不需要使用串口的话, 最简单的办法就是关闭串口
是不是不想资源被占用? 占用串口, 程序空间以及执行时间. 真正运行的时候是不需要 printf 函数输出这些调试信息的, 只有调试的时候有用, 自己写的代码可以通过宏定义屏蔽, 固件库里如果有就不知道怎么处理了
发布 问题
分享 好友
手机 浏览
回到 顶部
这样的话也只是屏蔽了串口输出接口, Printf 调用的地方资源占用还一直有, 其实最好的方式是吧静态库全部给开源了, 让大家用源代码编译