www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit UART & Interrupt


Autor: Christoph Budelmann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde es gerne schaffen, dass beim Empfang eines Zeichens über die
serielle Schnittstelle ein Interrupt ausgelöst wird und eine kurze
Routine abgearbeitet wird. Klingt eigentlich nicht sonderlich
schwierig, funktioniert aber trotzdem nicht.

Zum ersten Ausprobieren fällt der Atmega16 in eine Endlosschleife und
soll beim Empfang eines Zeichens dieses stumpf wieder zurücksenden, was
er allerdings nicht tut. Ohne Interrupt, mit der Senderoutine direkt in
der Schleife, funktioniert es hingegen.

Vielleicht weiß ja jemand Rat.

Gruß
Christoph

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermisse die generelle Interrupt-Freigabe, so etwas wie SEI() oder
SREG |= 128 oder was ähnliches.
Michael

Autor: Christoph Budelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Findet sich in der Mitte von main.

Autor: Dieter Brüggemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Du mußt den  RX Complete Interrupt Enable noch erlauben, im UCSRB.

UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE) ;

MFG
Dieter

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stimmen denn die Interrupt-Vektoren?
Ausserdem muss RXCIE gesetzt sein.
Um welchen Prozessor gehts überhaupt?

Autor: Christoph Budelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Atmega16. RXCIE werde ich gleich einmal setzen.
Danke soweit schon einmal.

Christoph

Autor: Christoph Budelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Hilfe - ist RXCIE gesetzt, funktioniert alles
prächtig.

Christoph

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.