www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Warum empfängt mein Uart nichts?


Autor: Weihnachtsmann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Ich möchte mit dem Terminal Programm ein Zeichen auf den
Microcontroller senden und auf dem Port ausgeben.

Leider geht es nicht.
Die Hardware ist OK mit einem ähnnlichen Programm mit anderem
Microcontroller geht es

Gruss

Bald kommt der Weihnachtsmann

Autor: Santa Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du mußt mindestens im UCSRB noch die Bits RXCIE und TXCIE setzen, um die
Interrupts freizuschalten.  Mit den Bits RXEN und TXEN enablest Du nur
den USART-Empfangs- bzw. Sendeteil.

Autor: Jens123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum so umstzaendlich??

int_rxc:
;in temp,SREG ;CPU-Status sichern
;push temp                ;temp auf dem Stack sichern
   in temp2, UDR             ;später Wert ausgeben
out PORTC, temp2
;   pop temp
;out sreg, temp           ;CPU-Status aus dem Stack wieder herstellen
reti                         ;Interrupt beenden

bei kleinen programmen ohne dass du viele register brauchst kannst das
auch so einfacher loesen

Autor: Santa Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Allerdings solltest Du das Auskommentieren dieser läppischen vier Zeilen
kommentieren mit:

1. Nirgendwo sonst im Programm darf das Register temp2 verwendet
werden.

2. In den Interrupthandler darf später niemals auch nur ein einziger
"tst-", "cpi-", "clr-", "or-" oder sonstiger Befehl eingebaut
werden, der sich auf die Statusflags auswirkt.

Ich halte es für eine sehr gute Idee, in Interrupthandlern
grundsätzlich das SREG sowie alle verwendeten Register auf dem Stack
zu sichern.  Dann kann man nämlich in dem Handler machen was man will -
es kann nichts mehr schiefgehen.

Autor: Weihnachtsmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Mal soweit danke empfangen kann ich beim senden habe ich noch ein
Problem das ich vermutlich lösen kann

Gruss

Es kommt bald der Weihnachtsmann

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.