Hilferuf zu AVR: UART (Interrupt Einlesen), ADC (Interrupt-F

H

Harald Noack

Guest
Hallo!

BITTE könnt Ihr mir Eure Config-Einstellungen für die Register und die
Funktionen für folgende Einheiten via E-Mail schicken.

UART (Interrupt Einlesen), ADC (Interrupt-Freerunning-Mode)
für den AtMega8, oder alle anderen für GNU GCC

Ich plage mich schon seit zwei Tagen aber die
Interrupt-Routinenmfunkionieren nicht möchte es so mit anderen probieren.


DANKE für Eure HILFE !!!!!
 
Harald Noack wrote:

Hallo!

BITTE könnt Ihr mir Eure Config-Einstellungen für die Register und die
Funktionen für folgende Einheiten via E-Mail schicken.
Und warum gleich dreimal?

UART (Interrupt Einlesen), ADC (Interrupt-Freerunning-Mode)
für den AtMega8, oder alle anderen für GNU GCC
Wie hast Du's denn initialisiert? Ohne nähere Angaben (Taktfrequenz,
beabsichtigte Frequenz der ser. Schnittstelle etc.) läßt sich da keine
allgemeingültige Aussage zu treffen.

Ich plage mich schon seit zwei Tagen aber die
Interrupt-Routinenmfunkionieren nicht möchte es so mit anderen probieren.
Warum dann nicht erstmal

a) nur vom AVR senden - PC ist einfacher zu debuggen
b) Routinen ohne Interrupt ausprobieren, läßt sich einfacher handhaben
(einfache Endlosschleife, die empfangene Bytes wieder an den PC
zurückschickt).

Ansonsten sind die Namen der SIGNAL-Routinen das entscheidende. Diese werden
vom Compiler NICHT überprüft (weil er's nicht kann). Die Doku zu AVR-GCC
enthält dazu auch sehr ausführlich dokumentierte Beispiele. Zum Testen des
Interrupts würde ich an ein Pin eine LED anschließen und der Routine
erstmal nur die Aufgabe geben, den Ausgang auf high zu schalten.
DANKE für Eure HILFE !!!!!
Und schrei nicht so!

Sebastian
 
Sebastian Voitzsch wrote:

Harald Noack wrote:

Hallo!

BITTE könnt Ihr mir Eure Config-Einstellungen für die Register und
die Funktionen für folgende Einheiten via E-Mail schicken.

Ansonsten sind die Namen der SIGNAL-Routinen das entscheidende.
Und der kleine Unterschied zwischen SIGNAL und INTERRUPT ;-)

Jan-Hinnerk
 
Jan-Hinnerk Reichert wrote:
Ansonsten sind die Namen der SIGNAL-Routinen das entscheidende.

Und der kleine Unterschied zwischen SIGNAL und INTERRUPT ;-)

Jetzt mußte ich tatsächlich erstmal gucken, was Du meinst ;o)

Aber der Hinweis auf sei() steht ja in allen Beispielen zu Interrupts
drinne...

Sebastian
 
Sebastian Voitzsch wrote:

Jan-Hinnerk Reichert wrote:

Ansonsten sind die Namen der SIGNAL-Routinen das entscheidende.

Und der kleine Unterschied zwischen SIGNAL und INTERRUPT ;-)

Jetzt mußte ich tatsächlich erstmal gucken, was Du meinst ;o)

Aber der Hinweis auf sei() steht ja in allen Beispielen zu
Interrupts drinne...
Na gut denn schreib' ich noch mehr ;-)

SIGNAL arbeitet, wie man sich das vorstellt. Bei INTERRUPT wird zu
Beginn des Handlers ein "sei" eingefügt. Dadurch kann man
verschachtelte Interrupts zulassen. Das geht halt nur gut, wenn der
Interrupt Request automatisch beim Anspringen der ISR gelöscht wird.

Bei UART Interrupts ist das nicht der Fall, also wird der Interrupt
dann gleich nochmal ausgelöst und nochmal und nochmal...

@Harald: Der UDRE-Interrupt ist sogar noch lustiger, den muß man
ausschalten, wenn man keine Daten mehr liefern kann.

Jan-Hinnerk
 

Welcome to EDABoard.com

Sponsor

Back
Top