Forum: Mikrocontroller und Digitale Elektronik Einstellung der Baudrate für UART


von gast (Gast)


Lesenswert?

Hallo,
ich versuche die kommunikation zwischen den Mikrocontroller und dem PC 
zu esrtellen. Ich arbeite mit dem Mikrocontroller at90can128. Ich 
arbeite mit einem clock-Frequenz von 10 MHz. Ich möchte die Daten  mit 
einer Geschwindigkeit von 115200 bps übertragen.Im Datenbaltt(seite 212) 
steht  folgende werte Fclock=10 MHz, Baud=115200 bps, UBBR=10, u2x=1 
error= -1.5%.

Das Problem:Wenn ich diese Einstellungen nehme,ist die Kommunikation 
zwischen dem Mikrocontroller und dem PC erfolgreich, wenn die Baudrate 
der PC 57600 bps ist. Aber ich möchte gern mit 115200 bps übertragen.
Im datenblatt steht: u2x=1 wird die Baud halbieren.

Danke

von Z8 (Gast)


Lesenswert?

Du hast deine Frage selbst beantwortet!  (u2x=?) Z8 :)

von gast (Gast)


Lesenswert?

hallo,
es bedeutet dass, ich eigentlich mit 115200 bps übertrage?

von Justus S. (jussa)


Lesenswert?

gast schrieb:

> error= -1.5%.

du schreibst doch selbst, dass der Fehler zu groß ist...der aollte max. 
1% sein...

von Z8 (Gast)


Lesenswert?

hab mal in DB geschaut:

UBBR=10, u2x=1

ist eigendlich Ok.

Du hast nicht zufällig mit UMSELn=1 auf asynchrone Datenübertagung
geschalten?

von Z8 (Gast)


Lesenswert?

edit :

synchrone Datenübertagung

>The transfer rate can be doubled by setting the U2Xn bit in UCSRnA. Setting >this 
bit only has effect for the asynchronous operation

von gast (Gast)


Lesenswert?

hallo Z8,
es geht um eine asynchrone Kommunikation.
/* set frame format: i wil set it now as 8 bits, no parity 1 stop bit, 
asynchron*/

   UCSR0C = (0<<UMSEL0)|(0<<UPM0)|(0<<USBS0)|(3<<UCSZ0) |(1<<U2X0);

von Z8 (Gast)


Lesenswert?

Aufbau UCSR0C:

UMSEL0 UPM01 UPM00 USBS0 UCSZ01 UCSZ00 UCPOL0
  6      5     4     3     2       1      0

mit (1<<U2X0) bist Du im falschem Register! Z8

von Z8 (Gast)


Lesenswert?

... das Bit sitzt im UCSR0A Reg.

von gast (Gast)


Lesenswert?

hallo Z8,

ich danke Dir, ich probiere jetzt.

von Z8 (Gast)


Lesenswert?

gehts jetzt?

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.