關於利用USMART控制stm32單片機調試助手XCOM輸入的函數

list,該命令用於打印所有 usmart 可調用函數。發送該命令後,串口將受到所有能被 usmart調用得到函數,如圖1所示。


圖1

id,該指令用於獲取各個函數的入口地址。比如前面寫的 test_fun 函數,就有一個函數參數,我們需要先通過 id 指令,獲取 led_set 函數的 id(即入口地址),然後將這個 id 作爲函數參數,傳遞給 test_fun,如圖2所示。


圖2

help(或者‘?’也可以),發送該指令後,串口將打印 usmart 使用的幫助信息,如圖3所示。


圖3

hex dec,這兩個指令可以帶參數,也可以不帶參數。當不帶參數的時候, hex dec 分別用於設置串口顯示數據格式爲 16 進制/10 進制。當帶參數的時候, hex dec 就執行進制轉換,比如輸入: hex 1234,串口將打印: HEX:0X4D2,也就是將 1234 轉換爲 16 進制打印出來。又比如輸入: dec 0X1234,串口將打印: DEC:4660,就是將 0X1234 轉換爲 10 進制打印出來,如圖4所示。


圖4

runtime 指令,用於函數執行時間統計功能的開啓和關閉,發送: runtime 1,可以開啓函數執行時間統計功能;發送: runtime 0,可以關閉函數執行時間統計功能。函數執行時間統計功能,默認是關閉的。如圖5所示


圖5

注意list中的LCD_Clear(u16 color)函數,如果要在串口助手中使用該函數,參數應該是(顏色的的地址),如圖6所示


圖6


圖7

從圖7可以看出, delay_ms(1000)delay_ms(0x3E8)的調用結果是一樣的,都是延時1000ms,因爲 usmart 默認設置的是 hex 顯示,所以看到串口打印的參數都是 16 進制格式的,大家可以通過發送 dec 指令切換爲十進制顯示。另外,由於 USMART 對調用函數的參數大小寫不敏感,所以參數寫成: 0X3E8 或者 0x3e8 都是正確的。另外,發送: runtime 1,開啓運行時間統計功能,從測試結果看, USMART 的函數運行時間統計功能,是相當準確的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章