Serielle Schnittstelle initialisieren (8951er)

OP #587751
Lesenswert?

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
#587869
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren