Tipp von mir:
Traces einbauen: Durch RS232 Ausgaben gucken, wo das Programm lang läuft. Daran kann man erkennen, was schief geht. Wenn du ein zufälliges Programmverhalten beobachtest, kann es dran liegen, dass du auf eine nicht initialisierte Variable zugreifst. Oder ein nicht initialisierter Pointer.

Mfg Der Maddin