Serenifly:
1.) Das Startzeichen und Endzeichen will man meistens nicht abspeichern
2.) Man sollte überprüfen ob man noch innerhalb der Array Grenze ist
- Ja stimmt natürlich, um nicht über das Array-Ende hinauszuschreiben. Dann könnte es eventuell so aussehen:
// Einlesen einzelner Zeichen und Anhängen an ein Char-Array.
// True, wenn das Endzeichen erkannt wurde.
bool read_serial() {
static byte index;
while (Serial.available()) {
char c = Serial.read();
if (c == 49) { // das Starzeichen
index = 0;
}
if (index < SERIAL_BUFFER_SIZE) {
serial_buffer[index] = c;
index++;
}
if (c == 50) { // das Endzeichen
return true;
}
}
return false; // Endzeichen noch nicht erreicht
}
Was Start- und Endzeichen betrifft ist mir eigentlich nicht ganz klar wie das gemeint ist.
Gazello:
das ist kein Ascii sondern eine dec "0" null.
Wenn das alles Dezimalzahlen sind, dann handelt es sich ja nicht um ein sondern um jeweils zwei Start- und Endzeichen. Die Endzeichen wären dann ja "fünf null".
Oder ist ein "Bytewert" gemeint?
Ich glaube, da wird einfach noch mehr Information gebraucht.