main() wird niemals nicht aufgerufen! Wenn du das tust, initialisierst du den UART neu, während mit Sicherheit eine Sendung im Gange ist. Beim Debuggen ist die Sendung allerdings schon fertig, daher tritt der Fehler dort nicht zu Tage.
OK, vielen Dank,
das erklärt mir einiges.

wenn ich main() aber nicht nochmal aufrufe, wird es doch nur einmal abgearbeitet,-oder.

Es soll doch eine Endlosschleife sein, wie wird diese denn dann realisiert?