www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UCSRC und UBRRH beim mega16


Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,ich versuche gerade Daten zwischen 2 ATmega16 auszutauschen. Es 
gelingt mir aber nicht, die beiden Register UBRRH und UCSRC einzeln 
anzusprechen. Wenn ich schreibe:

ldi r6,174       ;even parity  2 stop bits  8 datenbits
out UCSRC,r16

beschreibt der AVR Simulator vom AVR Studio 4 die beiden Register 
gleichzeitig. Dieser Fehler ist mir aber bekannt. Leider machen das die 
uC's genau so. Es ist egal, ob ich das URSEL-bit beim schreiben setze, 
oder nicht, immer werden beide Register gleichzeitig beschrieben.

kann mir jemand vielleicht sagen was ich da falsch machen könnte?
danke schon mal an alle, die sich darüber Gedanken machen

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ups.. es muss ldi r16,174 heißen

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um Himmels willen, schreib NIEMALS ein Steuerregister, in dem einzelne 
Bits gesetzt werden sollen, mit Dezimalwerten! Da muss jeder erst mal 
rumrechnen, um rauszufinden, welche Bits da denn jetzt gesetzt sind! 
Entweder hexadezimal oder binär, wobei man bei letzterem auf den ersten 
Blick erkennen kann, was da passiert.

Ansonsten sehe ich bei dem obigen Beispiel keinen Fehler. Es sollte beim 
Schreiben eigentlich auf UCSRC zugegriffen werden. Ich habe bisher auch 
noch keine Probleme mit dem Schreiben von UCSRC und UBRRH gehabt.

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit dem umrechnen hab ich keine Probleme. Jedenfalls wird die 
Übertragung durch den Wert im UBRRH Register so langsam, dass ich ihr 
schon fast dabei zusehen kann.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du mußt UBRRH immer gefolgt von UBRRL direkt nacheinander beschreiben. 
Ist ein 16-Bit Register welches eine "atomische" Schreiboperation 
erfordert.

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.