0

我想将输入作为字符并将它们连接起来并编写 LCD。然而我做不到。另外,我不想在 LCD 上显示有关输入的符号。在此代码中,输入不是由串行监视器写入的。

#include < LiquidCrystal.h >

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
char karakter;
int ksayi;
String yazi = "";
String kaydirilacak = "";

void setup() {
  Serial.begin(9600);

  lcd.begin(16, 2);
  lcd.home();
  lcd.print("Hello World");
  delay(1000);
  lcd.clear();
  lcd.home();
}
void loop() {
  ksayi = Serial.available();
  if (ksayi > 0) {
    while (Serial.available() > 0) {
      karakter = Serial.read();
      if (karakter != '/n') {
        yazi += karakter;
      } 
      else {
        kaydirilacak = yazi;
        lcd.clear();
        lcd.write(Serial.read(); yazi = "";
      }
    }
  }
  Kaydirmaca(kaydirilacak);
}

void Kaydirmaca(String s) {
  int i;
  for (i = 0; i < 16; i++) {
    lcd.scrollDisplayLeft();
    delay(275);
  }
}
4

1 回答 1

0

您正在打印 Serial.read(),它什么也不返回,因为 serial.available() 为零。

此外,您的代码无法编译。你缺少一个结束括号。

else {
  kaydirilacak=yazi;
  lcd.clear();
  lcd.write(Serial.read();
  yazi="";
}
于 2013-08-23T12:49:49.020 回答