產品沒有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 ...