Man könnte die Bitfolgen doch in ein Array speichern und dann auslesen, oder?
Ja, könnte man.
Was das Speichern angeht, kannst du über eine Zählvariable speichern, das wievielte Bit es ist und es jeweils an die entsprechende Stelle einer Byte-Variable schreiben (wenn der Zähler bei 8 ist, fängt das nächste Byte an.).
Dann musst du nurnoch den Anfang des Signals syncronisieren (also bei deinem Startbyte 15ms nach dem ersten Bit das zweite lesen und dann im 10ms-Takt weiter bis dein Stopbyte kommt oder einfach bis 8bit empfangen sind.).
Bei Signalen, die deutlich länger als 3 Byte sind, würde sich dann ein Interupt oder ein Pollen des Eingangspins mit höherer Frequenz anbieten, damit die Übertragung länger syncron bleibt.
Helft mir bitte!
Gern. Leider bin ich mir nicht ganz sicher, ob ich richtig verstanden habe, an welcher Stelle du ein Problem hast.