Forum: Mikrocontroller und Digitale Elektronik UART AT`Mega Geschw.


von Röhmer (Gast)


Lesenswert?

Hallo
ich hab eine Frage zum UART des AT Mega 8. In meiner Anwendung soll der
MC nacheinander mit 2 verschiedenen Geräten mit unterschiedlichen
Baud-Raten sprechen. (9600/115200)

Die folgenden 2 Zeilen errechnen ja den Wert UBRRVAL der danach
ausgegeben wird.

###################################
.equ BAUD = 9600
.equ UBRRVAL = CLOCK/(BAUD*16)-1
###################################
ldi temp, LOW(UBRRVAL)
out UBRRL, temp
ldi temp, HIGH(UBRRVAL)
out UBRRH, temp
###################################

Kann ich nun in meinem Assembler-Prog. die ersten 2 Zeilen mehrmals im
Quelltext angeben und dann ausgeben oder darf die Berechnung für
UBRRVAL nur einmal verwenden und somit nur eine Baud-Rate verwenden?

Danke im vorraus.

von Christian Zietz (Gast)


Lesenswert?

Warum schreibst Du nicht

.equ BAUD2 = 115200
.equ UBRRVAL2 = CLOCK/(BAUD2*16)-1

und verwendest dann halt UBRRVAL2 an der Stelle, wo Du die 115200 bit/s
in UBRR lädst?

Christian

von Röhmer (Gast)


Lesenswert?

Danke werd es mal versuchen. Dachte anfangs irgendwie, dass das ein
spezielles Register ist.

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.