Serielle Schnittstelle: Daten >128Bytes

Hi michael_x,

richtig, der Kommentar passt nicht. Der ist noch aus dem SerialEvent-beispiel von den Arduino Examples. Und da haben sie als Ende-Kennung der seriellen Sequenz das "NL" genommen.
Ich glaube String kann ich wirklich vergessen.

Vllt. sollte ich mal kurz schildern, was ich vorhabe:
Ich will einen Zähler seriell an meinen Arduino koppeln. Da kommen dann als "Telegramm" so ca. 1500 Byte an den Arduino.
Das Ende des Telegrammes wird durch eine spezielle Sequenz aus 4 byte angezeigt.
Also ist es Ziel meines Projektes, die 1500 Byte beim Empfang in einen Puffer (am besten wohl "byte array[1500]") zu schreiben, das Ende des Telegrammes zu erkennen und das Array dann nach dem Senden auf bestimmte Werten zu durchforsten.

Geht das Einlesen irgendwie eleganter als so?

Byte[i] = Serial.read();
i = i+1;
.....

SerialEvent ist eine Interrupt-Routine, die asynchron zu loop() läuft, denke ich.

Ja, immer wenn was im Empfangspuffer ist, dann wird dahin verzweigt.
Erscheint mir aber irgendwie eleganter, als das im Hauptprogramm abzuarbeiten.

String.reserve() ist übrigens in der Arduino Referenz nicht erwähnt...

Kommt auch aus dem Beispiel :wink:

Gruß/hk007