如何关闭printf输出到串口?

发布于 2022-04-16 00:34:38

调试完成后,需要关闭所有输出到串口0的信息,也就是关闭printf,在那个地方设置?

查看更多

关注者
0
被浏览
328
ZYQ
ZYQ 2022-04-16
往前看,不回头!!!

你这个问题感觉问的不明白啊,你自己写代码的时候,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;
}
5 个回答
Mrzhao
Mrzhao 认证专家 2022-04-16
一个嵌入式爱好者。CSDN主页:https://blog.csdn.net/qq_37280428?spm=1011.2415.3001.5343

我很好奇 你为啥要屏蔽printf??/

大信
大信 认证专家 2022-04-17
硬件开发,软件开发,系统开发,工程架构,方案设计

还有一个方法,就是在 init 初始化中,关闭串口 0

qq3147106
qq3147106 2022-04-23
一名电子爱好者,博客:www.dzahz.cn

如果你是不需要使用串口的话,最简单的办法就是关闭串口

chy
chy 2022-05-03
This guy hasn't written anything yet

是不是不想资源被占用?占用串口,程序空间以及执行时间。真正运行的时候是不需要printf函数输出这些调试信息的,只有调试的时候有用,自己写的代码可以通过宏定义屏蔽,固件库里如果有就不知道怎么处理了

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览