Probleme mit HC-05 / ZS-040

Ich habe meinen Code überarbeitet und mit Kommentaren versehen.
Vieleicht kann er dem einen oder anderen als Anregung dienen.

/*
Entwicklungssystem: MEGA2560, HC-05 Bluetooth Adapter

Die Verbindung wird vom Android Gerät aufgebaut, Daten werden gesendet (im Beispiel 4 Byte),
anschließend wird die Verbindung vom Android Gerät beendet.
Nach dem Abbau der Verbindung schreibt das HC-05 die Meldung "+DISC:SUCCES OK" in den Puffer.
Die Meldung wird nicht benötigt und muss aus dem Puffer entfernt (ausgelesen) werden.
Variante 1: Aufruf der Funktion serialFlush(), die alles aus dem Puffer ausliest und verwirft
Variante 2: Auslesen der Meldung und schreiben in einen temporären Puffer
Da Variante 2 Speicherplatz benötigt und der Puffer nicht zu klein sein darf, verwende ich Variante 1
*/

// Um den Sketch auf dem NANO zu benutzen
#include <SoftwareSerial.h>

#define EMPFANGS_PIN 10
#define SENDE_PIN 11

SoftwareSerial btSerial(EMPFANGS_PIN, SENDE_PIN); // RX TX

//Array zur Aufnahme der Nutzdaten
byte arrayData[4];
//Puffer Zum Auslesen der Meldung -> Variante 2
byte arrayBuffer[20];

//Funktion zum Auslesen der Meldung im Puffer -> Variante 1
void serialFlush(){
delay(500); //Kurz warten, bis die Meldung im Puffer ankommt
while(Serial1.read() >= 0){ //Alles aus dem Puffer lesen, bis er leer ist
}
}

//Auslesen und anzeigen der Nutzdaten
void showData(){
for(int i=0; i<4; i++){
Serial.print((char)arrayData[i]); //Anzeigen der Nutzdaten als Zeichen
}
Serial.println();
}

void setup()
{
//btSerial.begin(9600); //Zur Verwendung mit dem NANO
Serial.begin(9600);
Serial1.begin(9600); //Zweite Serielle Schnittstelle des MEGA
}

void loop()
{
while (Serial1.available()) {
Serial1.readBytes(arrayData, 4); //Nur die benötigten Bytes lesen und speichern
//Serial1.readBytes(arrayBuffer, 20); //Auslesen der Meldung aus dem Puffer -> Variante 2
serialFlush(); //Auslesen der Meldung aus dem Puffer -> Variante 1
showData();
}
}