我想从连接到PC /dev/ttyUSB0的磁盘上清除minicom terminal屏幕。我知道如何在PC中使用快捷方式Ctrl + A then Z and select C或Ctrl + A then C来完成。现在,我想用同样的方法来做这件事。如何做到这一点?
/dev/ttyUSB0
minicom terminal
Ctrl + A then Z and select C
Ctrl + A then C
6ovsh4lw1#
@ crowd-clear/conscious回答,谢谢!我也有同样的问题,你的回答解决了。由于我已经使用printf为我的PIC发送文本和数据到主机终端,很容易添加:
printf
printf("%c%c%c%c",0x1B,0x5B,0x32,0x4A);
当终端屏幕被数据弄得乱七八糟时。
gfttwv5a2#
现在,我想用同样的方法来做这件事。数据传输器用于简单地传输数据。该网关不能访问,也不能清除或控制小型机终端屏幕/窗口。也许你会问串行连接的远程端如何清除屏幕,例如:通过发送一个命令序列这个答案取决于哪个terminal emulation(例如,ANSI或VT 102)为minicom终端配置,并且如果该终端定义具有erase screen命令字符串(又名 * 转义序列 *)。原来erase screen转义序列对于ANSI和VT 102终端都是相同的。
terminal emulation
erase screen
Esc[2J Erase Display: Clears the screen and moves the cursor to the home position (line 0, column 0).
当minicom终端 * 接收到 *(从远端或当本地回显启用时)Esc[2J的4字节字符序列时,此转义序列被截取,不显示,然后终端窗口将被清除。这四个特征是:
Esc[2J
Esc the ASCII Escape character, value 0x1B. [ the ASCII left square brace character, value 0x5B. 2 the ASCII character for numeral 2, value 0x32. J the ASCII character for the letter J, value 0x4A.
引用ANSI Escape sequencesANSI/VT100 Terminal Control Escape Sequences。
rpppsulh3#
从TTRM支持的控制功能,换码序列'c'可用于复位终端。
printf("%cc",0x1b);
如果只打算清除当前显示,而不是整个缓冲区:
printf("%c[2J", 0x1b);
接下来,如果你想将光标移回row:column 0:0,那么:
printf("%c[0;0H", 0x1b);
3条答案
按热度按时间6ovsh4lw1#
@ crowd-clear/conscious回答,谢谢!我也有同样的问题,你的回答解决了。由于我已经使用
printf
为我的PIC发送文本和数据到主机终端,很容易添加:当终端屏幕被数据弄得乱七八糟时。
gfttwv5a2#
现在,我想用同样的方法来做这件事。
数据传输器用于简单地传输数据。该网关不能访问,也不能清除或控制小型机终端屏幕/窗口。
也许你会问串行连接的远程端如何清除屏幕,例如:通过发送一个命令序列
这个答案取决于哪个
terminal emulation
(例如,ANSI或VT 102)为minicom终端配置,并且如果该终端定义具有erase screen
命令字符串(又名 * 转义序列 *)。原来
erase screen
转义序列对于ANSI和VT 102终端都是相同的。当minicom终端 * 接收到 *(从远端或当本地回显启用时)
Esc[2J
的4字节字符序列时,此转义序列被截取,不显示,然后终端窗口将被清除。这四个特征是:
引用
ANSI Escape sequences
ANSI/VT100 Terminal Control Escape Sequences。
rpppsulh3#
从TTRM支持的控制功能,换码序列'c'可用于复位终端。
如果只打算清除当前显示,而不是整个缓冲区:
接下来,如果你想将光标移回row:column 0:0,那么: