Команда очистки для последовательного терминала через UART

Команда очистки для последовательного терминала через UART

Я отправляю cmd_clr_scr[] = { 27, 91, 50, 74, 27, 91, 72, 0 }; через UART, чтобы очистить экран и переместить курсор в верхний левый угол экрана на моем последовательном терминале (Putty).

У меня есть два драйвера для UART, один блокирующий, а другой неблокирующий. Под блокирующим я подразумеваю, что ISR UART не возвращается, пока не будут переданы все символы; в то время как в неблокирующем драйвере ISR UART возвращается, как только отправляет первый байт, следующий байт отправляется по прерыванию конца передачи и так далее.

Проблема в следующем: отправка cmd_clr_scr с использованием блокирующего драйвера делает то, что должна делать, но использование неблокирующего драйвера только перемещает курсор в верхний левый угол экрана, не очищая текст. Я дважды проверил драйверы с пошаговым выполнением, и они оба работают одинаково, т. е. отправляют одни и те же символы в одном и том же порядке.

Есть ли какие-либо предостережения относительно использования строки команды clear?

Есть предположения?

решение1

В итоге я использую те струны, которые нашел.здесьвместо строки, которую я упомянул в вопросе. Я также нашел ошибку в драйвере, но это, вероятно, не было проблемой, так как проблема была решена еще до того, как была обнаружена ошибка.

Связанный контент