Auswertung von einkommenden BT-Signalen

Hallo,

also wenn du auf Strings nicht angewiesen bist, dann verzichte darauf. Denn damit entfällt auch das "mühsame" herausfischen einzelner Strings aus dem Datenstrom. Seit paar Wochen nutze ich ein union struct als Datenpaket. Damit kannst du direkt und ohne Umschweife auf Einzelwerte zugreifen.

http://forum.arduino.cc/index.php?topic=499791.0

union Nachricht
{
	struct
	{
		uint8_t adresse;    
		int32_t data1;     
                int16_t data2;    
		uint8_t data3;    
	};
	uint8_t asArray[8];			// Summe aller struct Datentypen, für Zugriff über Index
} empfDaten, sendDaten;			// zwei gleiche union Buffer anlegen

Einlesen von der seriellen wie sicherlich jetzt auch schon über den Index in das empfDaten.asArray[]
Danach direkter Zugriff auf was du vergleichen oder wissen möchstest wie zum Bsp.
empfDaten.adresse
empfDaten.data1
empfDaten.data2
empfDaten.data3

und verschicken tuste dein sendDaten.asArray[] Byteweise auch über einen Index.

void send_Nachricht ()
{       
      Serial.write(STX);    // Startzeichen
      for (byte i=0; i < sizeof(Nachricht); i++) {
        Serial.write(sendDaten.asArray[i]);        // Bytes rausschieben
      }
      Serial.write(ETX);    // Endezeichen
}

Ich möchte das nun nicht als Weisheit letzter Schluss anpreisen. Aber ich finde das so dermaßen genial und einfach, dass ich auf Strings komplett verzichte. Die Handhabung ist wesentlich einfacher. Ob man nun Strings als Befehlscode festlegt oder paar Zahlen ist Jacke wie Hose.