Hallo, haben zZ ein Projekt mit dem TFH System One. (AT89C51CC03) Leider habe ich in unseren Unterlagen nur die Initialisierung der seriellen Schnittstelle für eine Baudrate von 9600 gefunden, daher meine Frage, wie ich auf die Paramter für eine Baudrate von 2400 komme? Unser verwendetes Quartz ist 11,059 Mhz! Habe in unseren Unterlagen eine Formel gefunden, die allerdings nicht hinhaut. Hier einmal die 9600er Initialisierung: SCON=0x52; TMOD |=0x20; TH1= 0xFD; R1=1; TI=1; Ich denke man müsste nur TH1 ändern, aber welcher Wert, dass weiß ich leider nicht. Ich hoffe ihr könnt mir helfen, da wir unter Zeitdruck stehen. Gruß Benni
Benjamin A. wrote: > Habe in unseren Unterlagen eine Formel gefunden, die allerdings nicht > hinhaut. Tja, ohne Formel kann man nicht sehen, was daran falsch ist. X2-Modus aktiv ? Ich machs immer so:
1 | #define TXTAL 20e6
|
2 | #define BAUD 19200
|
3 | ...
|
4 | #ifdef T2_BAUDGEN
|
5 | T2MOD = 0; |
6 | T2CON = RCLK_ + TCLK_ + TR2_; // baud rate generator |
7 | RCAP2W = (uint) -(0.5 + TXTAL / 32.0 / BAUD); |
8 | T2W = -1; |
9 | #else
|
10 | TMOD |= T1_M1_; // T1: auto reload |
11 | TR1 = 1; |
12 | TH1 = (uchar) -(0.5 + TXTAL / 192.0 / BAUD); |
13 | TL1 = -1; |
14 | #endif
|
15 | ...
|
Peter
oder hier eine Tabelle für Baudrate und Timer des 8051: http://www.atmel.com/dyn/resources/prod_documents/UART_timer1_2_ibrg_RevB.xls (Excel Tabelle) Grüsse Matthias
Danke, Matthias hat mir mit dieser Tabelle sehr weitergeholfen. Schönen Wochenanfang noch ;)
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.