我正在使用串行通信将数据显示到我的 4x20 液晶显示器上。当我填满所有行时,我当然需要清除它。我在网上搜索并找到了类似的东西:
Serial.write(27); // ESC command
Serial.print("[2J"); // clear screen command
Serial.write(27);
Serial.print("[H"); // cursor to home command
但它不起作用。我还找到了一个类似
Serial.println();
的解决方案,但该解决方案(他们称之为作弊)只能在串行监视器上运行。那么有没有可能的解决方案来清除显示或从 LCD 中删除单个字符? 最佳答案
你试过 lcd.clear()
吗?它在文档 here 中说该命令执行以下操作:
显然,您需要 lcd
变量(称为 LiquidCrystal 对象)才能使用此方法。查看如何创建 here 和下面的基本实现。也许您可以在 lcd.print("hello, world!");
之后添加一个时间延迟,然后添加 lcd.clear();
(就像一个基本的概念验证。)
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
void setup()
{
lcd.begin(16,1);
lcd.print("hello, world!");
}
void loop() {}
查看完整的 LiquidCrystal reference 以了解其所有方法和其他示例。
关于arduino - 如何清除 Arduino 中的 LCD?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21121659/