Hallo Spelli,
grundsätzlich ist es das, was Kampi dir vorgeschlagen hat.
Da ich erklärtermaßen Fan von Overlays bin, möchte ich dir allerdings vorschlagen, in der ISR nicht mit Strings zu arbeiten, sondern bei Bytes zu bleiben, so wie du sie auch einliest. Kennst du das Konzept der Overlays?
Als Checksumme kannst du neben der erwähnten CRC16 auch CRC8 oder auch einfach die Funktion Checksum() benutzen.
Bedenken solltest du dabei, dass der Wert der Checksumme auch zufällig eines deiner Steuerzeichen $ oder # werden könnte. Ebenso könnte es den Wert 13 haben, der deinem "Übertragung fertig" entspricht. Da musst du in der ISR Vorsorge treffen. Oder du verhinderst auf der Sendeseite, dass ein solches Zeichen als Checksumme übertragen wird.
Lesezeichen