Forum: Mikrocontroller und Digitale Elektronik avr: setzen von UCSZ beieinflusst baudrate register


von Bill (Gast)


Lesenswert?

hi,

habe grade im simulator festgestellt, dass

UCSR0C |= (3<<UCSZ00);  //Asynchron 8N1

UBRR0H auf 0x06 setzt.
warum das? wenn man jetzt die baudrate setzt bevor man UCSZ setzt, hat 
man ein problem...!?

btw ist
UCSR0C |= (3<<UCSZ00);
ja initial, man könnte sich das also sparen und UBRR wird nicht gesetzt.

von Johannes M. (johnny-m)


Lesenswert?

Welcher Controller? Bei einigen AVRs muss das Bit URSEL gesetzt sein, 
wenn man auf UCSRC zugreift! Bei denen sind UBRRH und UCSRC auf der 
selben Adresse.

In den Forenregeln steht übrigens eindeutig, dass der Controllertyp im 
Betreff anzugeben ist!

von Bill (Gast)


Lesenswert?

>Welcher Controller? Bei einigen AVRs muss das Bit URSEL gesetzt sein,
>wenn man auf UCSRC zugreift! Bei denen sind UBRRH und UCSRC auf der
>selben Adresse.

mega644 (sorry :) )

ist  hier nicht der fall.

von Johannes M. (johnny-m)


Lesenswert?

Upps, hatte die 0 übersehen...

Beim Simulator sollte man aber generell bei solchen Vorkommnissen in den 
Known Issues nachsehen, ob das evtl. ein bekannter Bug ist. Da gibt's 
nämlich ne ganze Menge von.

von Sascha (Gast)


Lesenswert?

Hallo,

das würde ich mal als Bug ansehen, hab's gerade mal in einem Projekt von 
mir angeschaut, auch dort wird die 0x06 gesetzt, aber im realen 
Controller geht's richtig - die Baudrate stimmt.

Sascha

von Johannes M. (johnny-m)


Lesenswert?

Sascha wrote:
> das würde ich mal als Bug ansehen, hab's gerade mal in einem Projekt von
> mir angeschaut, auch dort wird die 0x06 gesetzt, aber im realen
> Controller geht's richtig - die Baudrate stimmt.
Jo. Und wenn Du (wie von mir oben vorgeschlagen) in den Known Issues in 
der AVRStudio-Hilfe nachgesehen hättest, dann hättest Du es gar nicht 
ausprobieren müssen. Da steht es nämlich...

von Bill (Gast)


Lesenswert?

da steht auch, dass man simulator 2 nutzen soll.
der macht das nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.