void setup() {
Serial.begin(115200);
Serial2.begin(115200, SERIAL_8N1, 11, 10);
Serial1.begin(115200, SERIAL_8N1, 38, 1);
}
void loop() {
// Check if Serial1 has received any data
if (Serial1.available()) {
char byteReceived1 = Serial1.read();
Serial.print("Byte received on Serial1: ");
Serial.println(byteReceived1);
}
// Check if Serial2 has received any data
if (Serial2.available()) {
char byteReceived2 = Serial2.read();
Serial.print("Byte received on Serial2: ");
Serial.println(byteReceived2);
}
// Call the functions to send "H" and "I"
sendHOverSerial1();
sendIOverSerial2(); // Stops sendHOverSerial1() working
}
void sendHOverSerial1() {
Serial1.begin(115200, SERIAL_8N1, 38, 3); // Re-initialize Serial1 with different pins
Serial1.write("H");
delay(1000);
Serial1.begin(115200, SERIAL_8N1, 38, 1); // Initialize Serial1 back to stock pins
}
void sendIOverSerial2() {
Serial2.begin(115200, SERIAL_8N1, 47, 21); // Initialize Serial2 with pin swap
Serial2.write("I");
delay(1000);
// Serial2.begin(115200, SERIAL_8N1, 11, 10); // <------- causes panic
}