串列埠列印除錯

2021-06-23 01:46:47 字數 342 閱讀 8788

產品沒有jtag介面,無法斷點debug,只能串列埠列印來除錯。

printf(「%d\n」,__line__);//大多數編譯器支援這樣乙個巨集__line__,在編譯中會替換為巨集所在檔案中的行號。

printf(「build date: %s, \n build time: %s\n」,__date__, __time__);//這兩個巨集會在編譯過程中替換為目前日期和時間的字串。程式每次執行的時候就會列印出其最後編譯的日期和時間,再也不用疑惑是否燒錯程式版本了。

printf(

"bug is here:%s on line %d\n"

, __file__, __line__); 

串列埠列印除錯資訊(乾貨)

上 這裡用到的是hal庫,標準庫改以下函式就行。include intfputc int ch,file f hal uart transmit huart1,temp,1,5 huart1需要根據實際配置 return ch int fgetc file f 因為上面這段 我有經常使用到,所以可以...

SEGGER RTT除錯教程(可替代串列埠列印)

rtt real time terminal 即jink的實時終端 在沒有多餘串列埠printf輸出的情況下,可以使用segger rtt開發除錯。本次是在 nrf51822裡面使用rtt,理論上使用jlink除錯即可使用rtt。在jlink驅動安裝目錄 segger jlink v512f sam...

STM8串列埠列印除錯資訊

static void uart1sendmsg char msg,uint16 t length void myprintfascii char msg void myprintfint8 uint8 t msg,intlength intlength m for n intlength 1 n ...