Skip to content

Serial2 stopped working #66

@hayderismael

Description

@hayderismael

Hello,

I appreciate that you put so much effort into making Nextion easy to use with your library. It is elegant.

I have used EasyNex myNex(Serial2) with ESP32 for the last two years, and it used to work perfectly. Nevertheless, It stopped yesterday when I tried it again.

Here is an example of how I used to use it: The Nextion first restarted with ESP32 and then went to page home.

This code used to work very well till yesterday.

I tried:
1- Use another ESP32 board ; not work. I still read what I print via the serial monitor.
2- I re-upload the code to an old ESP32, which worked before I flushed it and uploaded the code again. The MCU did not communicate after reuploading the code.
3- I used another Nextion display, it did not work.
4- Use the default Serial pins

EasyNex myNex(Serial);
It worked.

5- I used Arduino boards, Mega and Giga R1 WiFi with EasyNex myNex(Serial2) . It worked perfectly.

#include "EasyNextionLibrary.h" // Include EasyNextionLibrary
EasyNex myNex(Serial2);         //  Pin 16 = RXD2, Pin 17= TXD2
void setup() {
Serial.begin(115200);
delay(100);
Serial.println("Begin...");
delay(1000);
myNex.begin(115200);    // UART 2);   // Start with nextion bauds for serial communication.
Serial.println("reset1...");
myNex.writeStr("rest"); 
delay(1000); // wait till Nextion is restarted
myNex.writeStr("page home");  // Go to page home.
}

void loop() {
  //Put your main code here, to run repeatedly:
    Serial.println("loop...");
    delay(1000);
}

Then I used hardware serial between the EasyNex myNex(Serial2) as follows and it worked with all boards and displays.

#include <EasyNextionLibrary.h>
// Define the RX and TX pins for Serial 2
#define RXD2 16
#define TXD2 17
HardwareSerial mySerial(2);  // Initialize Serial 2
EasyNex myNex(mySerial);     // Pass the HardwareSerial object to EasyNex


void setup() {

  Serial.begin(115200);
  Serial.println("Begin...");
  delay(1000);
  mySerial.begin(115200, SERIAL_8N1, RXD2, TXD2);
  // Initialize the EasyNex object
  myNex.begin(115200);
  //myNex.begin(115200);    // UART 2);   // Start with nextion bauds for serial communication.
  Serial.println("reset1...");
  myNex.writeStr("rest");  
Serial.println("we go home...");
delay(1000); // wait till Nextion is restarted
  myNex.writeStr("page home"); 
  delay(100);
}

void loop() {
  Serial.println("loop...");
  delay(1000);
}

Would you please advise if something is wrong and why it doesn't work as it does in the fashion way?

Thanks for any help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions