调试完成后,需要关闭所有输出到串口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调用的地方资源占用还一直有,其实最好的方式是吧静态库全部给开源了,让大家用源代码编译