Adresskonflikt in AVR Studio bei ATmega32

Gast #2598797
Lesenswert?

Hey Leute!

Bin gerade bei einer USART - lib und hab mich gewundert warum da nichts 
geht.

Dann hab ich die Baudrate überprüft und bin nach intensivem debuggen 
draufgekommen, dass UBBRH mit dem Wert von UCSRC überschrieben wird.
Bei näherer Betrachtung kein Wunder, haben UCSRC und UBBRH doch laut 
AVR-Studio die gleiche Adresse ( 0x20(0x40))! (sh. Screenshot)

Hat einer von euch mal sowas gesehen?
Kann ich dem irgendwie entgegenwirken oder muss ich mir Studio 5 
installieren und hoffen?

Bin für jede Hilfe dankbar!
Markus
Angehängte Dateien:
Gast #2598807
Lesenswert?

ATmega32 Adresskonflikt schrieb:
> Dann hab ich die Baudrate überprüft und bin nach intensivem debuggen
> draufgekommen, dass UBBRH mit dem Wert von UCSRC überschrieben wird.
> Bei näherer Betrachtung kein Wunder, haben UCSRC und UBBRH doch laut
> AVR-Studio die gleiche Adresse ( 0x20(0x40))! (sh. Screenshot)
> Kann ich dem irgendwie entgegenwirken oder muss ich mir Studio 5
> installieren und hoffen?

Ein Blick ins Datenblatt des Mega32 sollte reichen.
Das Register wird doppelt benutzt...
Gast #2598809
Lesenswert?

>Hat einer von euch mal sowas gesehen?
Ja. Im Datenblatt. 2503K–AVR–08/07 Seite164

"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."
Gast #2598895
Lesenswert?

Öha.

Ich hab da dann wohl ein falsches Datenblatt, denn bei mir ist da keine 
Rede von Doppelbenützung. Seltsam, hab das eigentlich von Atmel 
runtergeladen.
Mit neuem Datenblatt und richtiggestellten Code gehts.

Danke euch!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren