如何關閉printf輸出到串口?

發布於 2022-04-16 00:34:38

調試完成後,需要關閉所有輸出到串口0的信息,也就是關閉printf,在那個地方設置?

查看更多

關注者
0
被浏覽
2.7k
ZYQ
ZYQ 2022-04-16
我已不再支持W80X任何相關問題的回複,請大家不要私信,有問題找 isme 謝謝

你這個問題感覺問的不明白啊,你自己寫代碼的時候,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
這家夥很懶,什麼也沒寫!

是不是不想資源被占用?占用串口,程序空間以及執行時間。真正運行的時候是不需要printf函數輸出這些調試信息的,只有調試的時候有用,自己寫的代碼可以通過宏定義屏蔽,固件庫裡如果有就不知道怎麼處理了

撰寫答案

請登錄後再發布答案,點擊登錄

發布
問題

分享
好友

手機
浏覽

掃碼手機浏覽