So auf den ersten Blick seh ich net, daß da was offensichtlich falsch ist.
Was ich aber mal kontrollieren würde ist:
- Die Werte fürs Baudratenregister (im Assembler-Dump/Disassembly)
- Schauen, ob die UCSRnx Bits nicht evtl. in einem anderen SFR stehen als beim ATmega8 (für den die Quelle ursprünglich geschrieben war)
- Den Namen der ISRs überprüfen. Fürs Senden gibt's 2 IRQs ("data register empty" und "transmission complete" oder so.) Evtl hat sich die Bedienung etwas geändert von ATmega8 nach ATmega128. Unbedingt ins Handbuch schauen!
Bei 16MHz sollte 9600Bd kein Problem sein; auch 38400Bd geht ohne Probleme.
Lesezeichen