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
hallo, es bedeutet dass, ich eigentlich mit 115200 bps übertrage?
gast schrieb:
> error= -1.5%.
du schreibst doch selbst, dass der Fehler zu groß ist...der aollte max.
1% sein...
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?
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
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);
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.