Vielleicht als kleiner Tipp am Rande:
Für RS232-Geschichten bietet sich für das Debugging auch immer an, einen Serial Port Monitor als Progrämmchen dazwischenzuhängen.
Oft braucht man sich dann nur ansehen, was über die Schnittstelle läuft und schon wird einem klar, was man falsch gemacht hat
Einen freien Serial Port Monitor gibt es z.B.
hier