調試完成後,需要關閉所有輸出到串口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調用的地方資源占用還一直有,其實最好的方式是吧靜態庫全部給開源了,讓大家用源代碼編譯