Eug*_*gen 16 terminal refresh arduino erase clear
我正在为我的机器人从9个不同的传感器读取数据,我需要在同一个窗口中稳定地显示它们,这样我就可以比较这些值,看看是否有任何读数都关闭了.
我在Serial.print和lcd.print上遇到的问题是值不断移动,在移动机器人时我无法真正看到它们.
我想在显示任何其他东西之前调用类似Serial.clear()的东西,这样可以保持稳定并在一个地方,只改变值.
从我到目前为止发现的,不再支持Serial.print(17,BYTE)(调用ESC键).
那么......对于那些有更多Arduino经验的人来说......这样做的正确方法是什么?
jjz*_*jjz 32
Arduino串行监视器不是常规终端,因此无法使用标准终端命令清除屏幕.我建议使用像Putty这样的实际终端模拟器.
清除终端屏幕的命令是ESC [2J
要在Arduino代码中完成:
Serial.write(27); // ESC command
Serial.print("[2J"); // clear screen command
Serial.write(27);
Serial.print("[H"); // cursor to home command
Run Code Online (Sandbox Code Playgroud)
资料来源:http:
//www.instructables.com/id/A-Wirelessly-Controlled-Arduino-Powered-Message-B/step6/Useful-Code-Explained-Clearing-a-Serial-Terminal/
小智 5
我发现ASCII 12创建了一个Form feed,这是一个新页面.这是维基百科的定义
"换页是一个破坏页面的ASCII控制字符.它强制打印机弹出当前页面并继续在另一个页面顶部打印"
代码是
Serial.write(12);
Run Code Online (Sandbox Code Playgroud)
Arduino Terminate不支持该角色,但Putty是一个轻量级的开源telnet客户端可以做到这一点
代码示例
void setup() {
Serial.begin(9600);//Initializase the serial transmiter speed
}
void loop() {
//Code tested with Putty terminal
Serial.write(12);//ASCII for a Form feed
Serial.println("This is the title of a new page");// your code
delay(500);//delay for visual
}
Run Code Online (Sandbox Code Playgroud)