Ich sehe da mehrere Fehlerquellen:
-Das Programm, welches am PC die Daten verarbeitet.
-Die "Loop Until I1 >= 50" hat noch keine 50 auf I1 ausgemacht, da nicht ausreichend Daten empfangen worden sind.
Was passiert überhaupt, wenn nicht ausreichend Daten angekommen sind? Ich würde da erstmal auf ausreichend Daten hin prüfen, bevor ich ihn in den Loop "schicke".