Arduino не может записать на ЖК-экран в функции loop()
Я пытаюсь распечатать материал на ЖК-экране при получении последовательных данных. это работает так:
void setup() {
// put your setup code here, to run once:
lcd.begin(16, 2);
lcd.write("hello");
}
void loop() {
if (Serial.available() == 5) {
inputByte_0 = Serial.read();
delay(10);
inputByte_1 = Serial.read();
delay(10);
inputByte_2 = Serial.read();
delay(10);
inputByte_3 = Serial.read();
delay(10);
inputByte_4 = Serial.read();
}
if (inputByte_0 == 9) {
Serial.println("hi");
lcd.write("whats up?");
}
}
Он пишет "привет", когда начинается. он посылает мне сообщение "привет", когда я посылаю правильный байт, но ничего не выводит на экран. Что я делаю неправильно? Спасибо!
2 ответа
Решение
Не используйте функцию lcd.write () для печати строк на ЖК-дисплее. Вместо этого используйте функцию lcd.print("Ваша строка").
lcd.write и lcd.print принадлежат к одному классу LiquidCrystal, но единственное отличие состоит в том, что функция print преобразует аргумент как строку, а функция write () - нет.
Рассмотрите возможность использования lcd.print();
Я бы попробовал использовать lcd.print("String") вместо lcd.write и посмотреть, работает ли это