Im Interrupt-Handler darfst Du keine Ausgaben auf die serielle Schnittstelle machen. Dies wäre zum einen viel zu langsam, aber noch viel wichtiger ist, dass es zu einem Deadlock führen kann, also einem Einfrieren des Arduinos (weil die Interrupts gesperrt sind und nur ein Interrupt den seriellen Puffer leeren kann).
Versuche, soviel wie möglich aus dem Interrupt herauszunehmen und im loop() abzuhandeln, der Interrupt-Handler sollte so kurz wie möglich sein.
Alle Variablen, die Du im normalen Code und im Interrupt-Handler verwenden willst, musst Du "volatile" deklarieren.
Habe ich das richtig verstanden, an die Dekodierung der Daten hast Du Dich noch nicht gemacht, weil die Start-Pulse noch nicht richtig erkannt werden?