www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was hat es mit dem URSEL-Bit auf sich?


Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

warum ist denn z.B. beim ATmega16 das URSEL-Bit notwendig? Wieso kann 
man UCSRC nicht wie jedes andere Register auslesen und schreiben?

mfg PoWl

Autor: Markus E. (engelmarkus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich zitiere:
> When the function writes to the UCSRC Register,
> the URSEL bit (MSB) must be set due to the sharing
> of I/O location by UBRRH and UCSRC.

UBRRH und UCSRC haben dieselbe Adresse :) . Durch das Bit sagt man ihm, 
was man beim Schreiben an diese tatsächlich ändern möchte.

Und weiter:
> The UBRRH Register shares the same I/O location as the UCSRC Register.
> Therefore some special consideration must be taken when accessing
> this I/O location.
> When doing a write access of this I/O location, the high bit of the
> value written, the USART Register Select (URSEL) bit, controls which
> one of the two registers that will be written. If URSEL is zero during
> a write operation, the UBRRH value will be updated. If URSEL is one,
> the UCSRC setting will be updated.
Siehe Datenblatt "USART -> Accessing UBRRH/ UCSRC Registers" Seite 162.

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, danke, ich meinte jetzt aber eher, was die AVR-Entwickler dazu 
getrieben hat diesen zusätzlichen Umstand einzuführen. Gabs da ein 
Problem?

Autor: Markus E. (engelmarkus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal im Datenblatt auf Seite 331. Die I/O Locations liegen zwischen 
0x20 und 0x5F, ab 0x60 beginnt der "richtige" SRAM. Scheinbar sind aber 
alle belegt. Deswegen dieser Umweg.
Bei neueren AVRs können die I/O Locations auch über 0x5F hinausgehen, 
aber wahrscheinlich wollten sie die Kompatibilität zu anderen Atmegas 
aus der Reihe erhöhen.
Bitte melden, wenn ich Schmarrn erzähle, das hab ich mir grad so 
zusammengereimt...

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.