나는 cmd_clr_scr[] = { 27, 91, 50, 74, 27, 91, 72, 0 };을 보내고 있습니다. UART를 통해 화면을 지우고 커서를 직렬 터미널(Putty) 화면의 왼쪽 상단으로 이동합니다.
UART용 드라이버가 두 개 있습니다. 하나는 차단이고 다른 하나는 비차단입니다. 차단한다는 것은 모든 문자가 전송될 때까지 UART ISR이 반환되지 않는다는 것을 의미합니다. 비 차단 드라이버에서는 UART ISR이 첫 번째 바이트를 전송하자마자 반환되고, 다음 바이트는 전송 종료 인터럽트에서 전송되는 식입니다.
문제는 차단 드라이버를 사용하여 cmd_clr_scr을 보내는 것이 예상한 대로 수행되지만 비차단 드라이버를 사용하면 텍스트를 지우지 않고 커서를 화면의 왼쪽 상단으로만 이동한다는 것입니다. 드라이버를 단계별로 살펴보며 두 번 확인했는데 둘 다 동일한 방식으로 작동합니다. 즉, 정확히 동일한 문자를 동일한 순서로 보냅니다.
Clear 명령 문자열을 사용할 때 주의할 사항이 있나요?
이견있는 사람?
답변1
결국 내가 찾은 문자열을 사용하게 됩니다.여기질문에서 언급한 문자열 대신. 또한 드라이버에서 버그를 발견했지만 버그를 찾기 전에도 문제가 해결되었으므로 이는 아마도 문제가 아닐 것입니다.