저는 mbed NXP LPC1768 및 Tera Term과 협력하고 있습니다. 나는 화면을 지우는 데 문제가있어 통계가 스크롤없이 끊임없이 업데이트됩니다.시리얼 화면을 지우려면 어떻게해야합니까?
0
A
답변
2
TeraTerm은 DEC VT100에서 DEC VT382까지의 에뮬레이션을 지원합니다. VT100은 가장 낮은 공통 분모 (ANSI 터미널이라고도 함)입니다. VT100/ANSI 터미널을 제어하려면 escape sequences을 보내십시오.
"화면 지우기"의 이스케이프 시퀀스는 <ESC>[2J
입니다. 여기서 <ESC>
은 ASCII 이스케이프 문자 0x1b
입니다. 따라서 을 문자열 "\x1b[2J"
으로 이스케이프 처리하여 직렬 포트에 연결하여 터미널을 지우 셨습니다.
그러나 전체 화면을 지우지 않고도 화면에서 값을 정적으로 업데이트하는 방법은 간단합니다. 당신이 CR을가 줄 바꿈에 대한 CR +의 LF를 요구하도록 터미널을 구성하고 간단하게 만 보내는 경우 (예를 들어)를 다음과 같이
다음result_string
for(;;)
{
output(result_string) ;
output(" ") ; // enough space to overwrite the
// previous result if the line
// length is variable.
output("\r") ;
delay(update_delay) ;
}
반복적으로 스크롤하거나 진행하지 않고 같은 줄에 기록됩니다 .
저는 C++로 작업하고 있습니다. – user8447252
ESC "\ [2J"를 보내보십시오. [VT100 ESC 시퀀스] (http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlvt100.html) –
"저주 라이브러리를 사용할 수 있는지 확인하십시오"보다 훨씬 간단합니다. 나는 제안하려고했다. – user4581301