slaven1337:
... wird die smlMessage extrem groß ...
byte smlMessage[1000]; //byte to store the parsed message
...
smlMessage[startIndex] = inByte; //set smlMessage element at position 0,1,2 to inByte value
startIndex++;
Das Feld ist auf 1000 Elemente begrenzt, der Index startIndex wird aber nirgendwo auf kleiner 1000 begrenzt. Wenn die Startsequenz nicht gefunden wird, überschreibt smlMessage[startIndex] unkontrolliert den Speicher.
Versuche mal als Begenzung:
startIndex = (startIndex +1) %1000;
Besser wäre es vermutlich, einen Ringpuffer zu implementieren.
postmaster-ino:
... wird beim Einlesen überprüft, ob der Puffer schon voll ist - Das fehlt bei Dir - ...
Ok, nur Zweiter.