Forum: Mikrocontroller und Digitale Elektronik Problem mit UART & Interrupt


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Christoph Budelmann (Gast)


Angehängte Dateien:

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

von Michael (Gast)


Lesenswert?

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

von Christoph Budelmann (Gast)


Lesenswert?

Findet sich in der Mitte von main.

von Dieter Brüggemann (Gast)


Lesenswert?

Hallo

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

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

MFG
Dieter

von crazy horse (Gast)


Lesenswert?

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

von Christoph Budelmann (Gast)


Lesenswert?

Einen Atmega16. RXCIE werde ich gleich einmal setzen.
Danke soweit schon einmal.

Christoph

von Christoph Budelmann (Gast)


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]
  • [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.