lcd.clear не работает с Serial.begin(9600) на Arduino Mega 2560
Итак, у меня есть стандартный ЖК-дисплей 16x2 с 16 контактами. ЖК-дисплей отлично работает со всеми остальными аспектами, однако функция «lcd.clear» не работает с «Serial.begin (ЛЮБОЙ БОД)». Я пытался изменить скорость передачи данных и обновить программное обеспечение платы, но это все равно не работает.
По сути, вместо того, чтобы очищать дисплей, как это должно быть, он отображает странный символ с 4 горизонтальными линиями (в одном символьном пространстве), а затем продолжает писать что-то после него.
Вот мой код:
#include <LiquidCrystal.h>
LiquidCrystal lcd(1, 2, 4, 5, 6, 7);
void setup() {
pinMode(8, INPUT);
lcd.begin(16,2);
Serial.begin(9600);
}
void loop() {
lcd.print("incorrect");
delay(3000);
lcd.clear();
delay(100);
}
Каждый раз, когда я удаляю Serial.begin, все работает нормально, но когда я добавляю его, функция очистки больше не работает.
Итак, в этом случае происходит то, что Arduino печатает «неправильно», затем вместо очистки дисплея он печатает четыре горизонтальные строки, а затем продолжает бесконечно печатать «неправильно».
@Leo Feng, 👍0
Обсуждение2 ответа
Контакты 0 и 1 — это аппаратные последовательные контакты на Mega. Если вы собираетесь использовать последовательный порт, вы не можете подключить ЖК-дисплей к этим контактам, иначе он не будет работать. Даже если вы подключены к Serial только через USB, контакты 0 и 1 по-прежнему действуют как Tx и Rx.
Правильно! Большое спасибо!, @Leo Feng
Не могли бы вы пометить ответ как принятый., @Delta_G
Приятель, вы используете те контакты, которые используются для связи, то есть контакты № 0 и 1 для RXD и TXD
- Как создать ссылку на объект внешней печати
- Как разделить входящую строку?
- Какова максимальная длина провода для последовательной связи между двумя Arduino?
- Последовательная связь между двумя Arduino (запрос и получение)
- Не нашел датчик отпечатков пальцев :( Arduino Mega 2560 Adafruit Fingerprint Sensor
- Чтение SMS с помощью Arduino Uno и SIM800L и печать на LCD (16x2 буквенно-цифровых) с использованием последовательного соединения
- Модуль SIM808: команда определения местоположения GSM (AT+CIPGSMLOC=1,1) дает неверное значение после выполнения команды отправки сообщения (AT+CMGS=+91xxxxxxxx)
- Кнопка двойного состояния Nextion
Кажется, вы используете контакты UART для подключения ЖК-дисплея., @Dmitry Grigoryev