0
我正在使用mbed NXP LPC1768和Tera Term。我在清除屏幕時遇到了問題,因此只會看到統計信息不斷更新而沒有滾動。如何清除串行屏幕?
我正在使用mbed NXP LPC1768和Tera Term。我在清除屏幕時遇到了問題,因此只會看到統計信息不斷更新而沒有滾動。如何清除串行屏幕?
TeraTerm支持DEC VT100仿真DEC VT382。 VT100是最小公分母(也稱爲ANSI終端)。要控制VT100/ANSI終端,請發送escape sequences。
「擦除屏幕」的轉義序列是<ESC>[2J
。其中<ESC>
是ASCII轉義字符0x1b
。因此,您將轉義爲字符串"\x1b[2J"
到串行端口以清除終端。
然而,在不清除整個屏幕的情況下,在屏幕上靜態更新值有一個更簡單和更有效的方法。如果配置了終端,使得它需要CR + LF爲換行,然後簡單地僅發送一個CR如(例如)如下:
for(;;)
{
output(result_string) ;
output(" ") ; // enough space to overwrite the
// previous result if the line
// length is variable.
output("\r") ;
delay(update_delay) ;
}
然後result_string
將被重複地寫入在同一行上不滾動或前進。
我正在使用C++。 – user8447252
嘗試發送ESC「\ [2J」。 [VT100 ESC序列](http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlvt100.html) –
唉,這聽起來比「看看你是否可以使用curses庫」簡單得多。我正在建議。 – user4581301