Hallo

Vielleicht schwingt der Quarz nicht richtig. Betreibst du eine (asyncrone) serielle Schnittstelle mit dem mega238?

Beim Setzen der ersten Bits in den Kontrollregistern würde ich mit = anstelle von != beginnen um etwaigen Schrott in den Registern zu löschen. Sonst ist mir noch kein (Denk-)Fehler aufgefallen.

Gruß

mic