Einfrieren klingt nach Übertragungsfehler. Fleurys Code ist nicht IRQ basierend, dh. es wird gewartet. Wenn nix zurückkommt, weil ein Fehler in der Übertragung ist, dann friert der µC ein. Ich glaube, es gibt keinen Timout.
Hast Du schon mal die Übertragungsrate erniedrigt? Hast Du den Takt richtig in der Software angegeben? Sind die Leitungen wirklich gut verbunden?
Für Datenübertragungen aller Art ist ein Quarz schon besser geeignet, weil er genauer ist. Weiß aber nicht, ob das eine Fehlerursache sein kann.
Oder
Halt' mal ein Oszi an die Versorgungsspannung!
Gruß