UART Tx IRQ

Gast #13735
Lesenswert?

AT90S2313:

Ich bin dabei, einen Ringbuffermechanismus für Zeichenausgabe (Midi) zum 
implementieren, weil ich aus Zeitgründen nicht pollen will - es wird 
eng. Dabei stoße ich auf den Fakt, daß es offenbar zwei Interrupts bei 
der Zeichenausgabe im UART gibt, TXCIE, wenn das letzte bit das 
Shiftregister verlassen hat und UDRIE, wenn das Datenregister leer ist.

Welchen IRQ soll ich nehmen? Ich tendiere zu UDRIE.
Gast #13738
Lesenswert?

Hallo Christoph,

dafür kann ich mir zwei Gründe vorstellen.
1. Um den Prozessor schlafen zu legen, wenn die Übertragung beendet ist, 
also das letzte Bit raus
2. Um mit einem Port zu klappern, nachdem das letzte Bit draussen ist. 
Man kann das z.B. verwenden, um bei einem Display mit Schieberegister 
den Line Pulse mit dem Port zu erzeugen, nachdem über Data In und Clock 
Pulse das Bitmuster eingeschoben wurde.

Gruß, Rudolf.

Rudolf Sosnowsky +++ LC Design
EPSON Technology Partner
Internet http://www.LC-Design.de
Gast #13739
Lesenswert?

> dafür kann ich mir zwei Gründe vorstellen.
> 1. Um den Prozessor schlafen zu legen, wenn die
> Übertragung beendet ist, also das letzte Bit
> raus
> 2. Um mit einem Port zu klappern, nachdem das
> letzte Bit draussen ist. Man kann das z.B.
> verwenden, um bei einem Display mit
> Schieberegister den Line Pulse mit dem Port zu
> erzeugen,
> nachdem über Data In und Clock Pulse das Bitmuster
> eingeschoben wurde.

Das leuchtet vollkommen ein. Danke.
Aus Zeiten der PDP-11 und Microcomputer kennt man nur ein CSR (Control 
und Status Register)
und Transmitter-done Interrupt.

Jetzt, da der AVR UART und andere Funktionalitaet in einem beinhaltet, 
nacht so etwas Sinn.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren