透過 UART 序列終端機的清除命令

透過 UART 序列終端機的清除命令

我正在發送 cmd_clr_scr[] = { 27, 91, 50, 74, 27, 91, 72, 0 };透過 UART 清除螢幕並將遊標移動到我的序列終端(Putty)上螢幕的左上角。

我有兩個 UART 驅動程序,一個是阻塞的,另一個是非阻塞的。透過阻塞,我的意思是 UART ISR 在所有字元都傳輸完畢之前不會返回;而在非阻塞驅動程式中,UART ISR 在發送第一個位元組後立即返回,下一個位元組在發送端中斷時發送,依此類推。

問題在於:使用阻塞驅動程式傳送 cmd_clr_scr 會執行其應該執行的操作,但使用非阻塞驅動程式只會將遊標移到螢幕的左上角,而不會清除文字。我已經通過單步檢查驅動程式來仔細檢查它們,它們的工作方式都是相同的,即以完全相同的順序發送完全相同的字元。

使用清除命令字串有什麼注意事項嗎?

有什麼想法嗎?

答案1

我最終使用了我找到的字串這裡而不是我在問題中提到的字串。我還在驅動程式中發現了一個錯誤,但這可能不是問題,因為問題甚至在發現錯誤之前就已經解決了。

相關內容