Hallo,
mir ist überhaupt nicht klar was Du da vor hast. Vermutlich willst Du das was über die Schnittstelle reinkommt mit einer oder mehreren vorgegeben Zeichenketten Zeichenkette vergleichen.
value.charByte[0] = char(EmpfangeneDaten[0]);
EmpfangeDaten ist ein String objekt wenn dahinter eine eckige Klammer steht müsste ein Array von dem String deklariert sein. Wenn Du auf ein einzelnes Zeichen eines String Objektes zugreifen willst geht da was mit empfangeneDaten.substring().
Zudem überschreibst Du im zweiten Teil die Daten Deiner Struct ja wieder.
Du könntest für Deine Empfangsdaten eine C Zeichenkette verwenden und dann mit strncmp vergleichen.
Heinz
P.S.:
"Serielles Lesen" Threads laufen üblicherweise so ab:
Datenlesen nach Methoden aus "Serial Input Basic"
Die Erkenntnis, dass in 98% der Fälle auf der Schnittstelle nicht Dec, Hex oder sonstiges "übertragen" wird, sondern einfach jedes Byte ... (das sich dann bei der Textausgabe in DEC, HEX, BIN ... darstellen lässt)
Die Überraschung, wenn man Ende der Übertragung doch noch ein ZeilenEnde und/oder Carriage Return kommt