arduino - LCD Arduino 无法正确显示
问题描述
我的问题是当我在串行监视器中输入字符串时,它显示如下:
LCD Arduino 错误 setCursor 不起作用,并且在实际输出之前创建了另一个奇怪的字符。
这是我的示例代码:
void setup() {
lcd.begin(16, 2);
Serial.begin(9600);
lcd.print("hello, world!");
}
void loop() {
String readString;
String Q;
while (Serial.available()) {
delay(1);
if (Serial.available()>0) {
char c = Serial.read();
if(isControl(c)){
break;
}
readString += c;
}
}
Q = readString;
if (Q == "1"){
lcd.setCursor(0,1);
lcd.print("Hello");
}
if (Q == "2"){
lcd.setCursor(0,1);
lcd.print("World");
}
}
解决方案
首先,您应该了解 LCD 库函数。
要将光标设置到您需要的第一行
lcd.setCursor(0,0); // row index starts with 0
如果您只将光标设置回来而不清除屏幕,可能会有奇怪的字符,sodo a
lcd.clear(); //clears the whole screen
或者定义一个空字符串:
String lineClear =" "; // should be 16 spaces for a 16x2 display
并作为清算序列(例如,用于顶线)
lcd.setCursor(0,0);
lcd.print(lineClear);
lcd.print("Hello");
记住语法是
lcd.setCursor(col, row)
// index for 16x2 is col 0-15,row 0-1
// index for 20x4 is col 0-19,row 0-3
并且在设置中总是做一个
lcd.clear();
初始化液晶显示器后,从缓冲区中删除可能的伪影
推荐阅读
- java - 我在 vs 代码上设置 java 并且 (1) 即使代码正在运行并且公共类中 p 下方有一条小线,问题也会不断弹出
- python - 如何将打印输出存储在变量中(转义后)
- spring-boot - Neo4j OGM中同一实体的重复实例
- xamarin - Sdk 绑定失败并出现错误 MT5209:错误:找不到文件:*/iphone 12-14.4/mtouch-cache/libNetverify.a' (JumioNetverifyDemo) 本机链接
- python - 提升涉及静态和重载成员函数的python代码
- python - 使用 Twitter API V2 获取推文 ID 列表的所有转推的最有效方法是什么
- angular - 我怎样才能使我自己的芯片组件在角度
- spring - 在 Spring Data JPA 中加入查询
- laravel - 如果先前的查询返回结果,则避免运行后续查询
- reactjs - 如何在react js中获取未定义的数据