UART ESP и MEGA2560
Может ли кто-нибудь помочь мне с некоторыми предложениями? Используя ESP8266 и MEGA2560 на интерфейсе UART, я хочу отобразить сообщение, полученное на мега-последовательном порте, на ЖК-дисплее, подключенном к нему на i2c. Проблема в том, что на ЖК-дисплее отображается какой-то странный неизвестный символ, а последовательный монитор, соответствующий мега, показывает это:
LED on LED OFF LED on LED OFF LED on LED OFF LED on LED OFF LED on LED OFF LED on LED OFF LED on LED OFF LED on LED OFF LED on LED OFF LED on
когда должно отображаться это:
LED on
LED OFF
LED on
LED OFF
LED on
LED OFF
LED on
LED OFF
LED on
LED OFF
LED on
LED OFF
LED on
LED OFF
LED on
LED OFF
LED on
LED OFF
Код для ESP следующий:
int pinLed = 16;
void setup()
{
Serial.begin(115200);
Serial.begin(115200);
pinMode(16,OUTPUT);
delay(500);
}
void loop()
{
digitalWrite(16,HIGH);
Serial.print("LED on\n");
delay(5000);
digitalWrite(16,LOW);
Serial.print("LED OFF\n");
delay(5000);
}
Код для мега такой:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include<SoftwareSerial.h>
LiquidCrystal_I2C lcd(0x3F,20,4);
void setup()
{
Serial.begin(115200);
lcd.init();
lcd.backlight();
while (!Serial)
{
Serial.print("Attempting to connect! ");
Serial.print("Trying again...");
}
}
void loop()
{
if (Serial.available()>0)
{
char c = Serial.write(Serial.read());
Serial.print(c);
lcd.print(c);
}
}
@Iulian Chirvasa, 👍0
2 ответа
Лучший ответ:
▲ 2
Решение ваших проблем.
- Используйте println вместо print.
- Замените
char c = Serial.write(Serial.read());
наchar c = Serial.read();
,
@Vaibhav
Смотрите также:
- Как разделить входящую строку?
- Как вывести несколько переменных в строке?
- В чем разница между Serial.write и Serial.print? И когда они используются?
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Программы построения последовательных данных
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Очистить существующий массив при получении новой последовательной команды
используйте println вместо печати, @user55394
почему они должны использовать println?, @Juraj