通过 UART 清除串行终端的命令

通过 UART 清除串行终端的命令

我正在通过 UART 发送 cmd_clr_scr[] = { 27, 91, 50, 74, 27, 91, 72, 0 }; 来清除屏幕并将光标移动到我的串行终端(Putty)屏幕的左上角。

我有两个 UART 驱动程序,一个是阻塞的,另一个是非阻塞的。阻塞的意思是 UART ISR 直到所有字符都传输完毕后才返回;而在非阻塞驱动程序中,UART ISR 在发送第一个字节后立即返回,下一个字节在发送结束中断时发送,依此类推。

问题是:使用阻塞驱动程序发送 cmd_clr_scr 可以完成预期的工作,但使用非阻塞驱动程序只会将光标移动到屏幕的左上角,而不会清除文本。我仔细检查了驱动程序并逐一检查了它们,发现它们的工作方式相同,即以完全相同的顺序发送完全相同的字符。

使用清除命令字符串有什么注意事项吗?

有什么想法吗?

答案1

我最终使用我找到的字符串这里而不是我在问题中提到的字符串。我还发现了驱动程序中的一个错误,但这可能不是问题,因为这个问题在发现错误之前就已经解决了。

相关内容