-         

Ergebnis 1 bis 4 von 4

Thema: Unterschied zwischen TXCIE und UDRIE

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522

    Unterschied zwischen TXCIE und UDRIE

    Anzeige

    Hallo,

    kann mir jemand erkären, wo der unterschied zwischen TXCIE und UDRIE beim UART liegt? Ich habe das Datenblatt an der Stelle mehrmals gelesen, versteh es aber trotzdem nicht. Der eine IRQ wird ja ausgelöst, wenn gerde ein Byte gesendet wurde, der andere, wenn das Datenregister leer ist. Wenn ein Byte aber versendet wurde, dann ist ja auch das Datenregister leer?!? Welcher IRQ wird denn jetzt wann ausgelöst?

    Hoffe mir kann einer helfen...

    MfG Mark

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    23.03.2007
    Beiträge
    38
    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.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Hallo AVRfan,

    danke für die Erklärung.

    Zitat Zitat von AVRfan
    Achte bitte darauf dass der UDE interrupt immer wieder ausgelöst wird so lange das Datenregister leer ist...
    Soll das heißen es gibt dann so eine Art Dauerinterrupt solange bis man ihn abstellt??

    MfG Mark

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    23.03.2007
    Beiträge
    38
    Hallo,

    Zitat Zitat von p_mork
    Soll das heißen es gibt dann so eine Art Dauerinterrupt solange bis man ihn abstellt??
    So ungefähr.. wenn der interrupt handler keine neue daten in UDR schreibt und zurück kehrt im haupt programm wird einen neuen interrupt erzeugt.

    Meiner meinung nach sollte mann also diesen interrupt einschalten wenn aus einen puffer daten zur UART geschickt werden mussen und der interrupt ausschalten wenn das letzte byte zur UDR geschrieben wird.

    Martin.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •