Hallo,
der inhalt des Datenregisters wird nach der schreibe-aktion zum schiebe register übergeben, wenn das schiebe register fertig ist. An diesen moment ist das Datenregister schon wieder frei (UDRE interrupt wird ausgelöst) aber es wurde noch keinen bit auf der TXD ausgang gesendet. Erst wenn das letzte bit von das schiebe register zur TXD geschrieben ist wird der TX complete interrupt ausgelöst.
Mann kann der UDRE interrupt benützen um schneller die nächsten daten zur UART zu schicken. Mit der TX complete interrupt könnte einen kleine pause zwischen bytes entstehen.
Achte bitte darauf dass der UDE interrupt immer wieder ausgelöst wird so lange das Datenregister leer ist, der TX complete interrupt wird pro byte einmal ausgelöst.
Martin.
Lesezeichen