Navigation:  Bibliotheken > RS232 >

Divider

Vorherige SeiteZurück zur Kapitel ÜbersichtNächste Seite

 

Die Funktionen Serial_Init() und Serial_Init_IRQ bekommen als Baudratenparameter einen Teiler (divider) der den Baudratentakt aus dem Prozessortakt ableitet. Der Prozessortakt beträgt 14,7456 MHz.

 

Laut dem Atmel Prozessor Handbuch wird folgende Formel angewendet um einen divider für eine Baudrate zu ermitteln:

 

divider = (14745600 / Baudrate / 16 ) -1

 

Beispiel: 15 = (14745600 / 57600 / 16 ) -1

 

 

DoubleClock Modus

 

Wenn man das High-Bit setzt, wird der DoubleClock Modus eingeschaltet. Man muß dann denn doppelten Wert als divider eintragen. Für 57600 Baud kann man z.B. statt 0x0f (dezimal 15) auch 0x801e benutzen. Für MIDI (31250 Baud) bekäme man einen divider =  (14745600 / 31250 / 16 ) -1 = 28,49 . Setzt man nun den DoubleClock Modus, so kommt man viel genauer an den richtigen Wert: 0x8039

 

 

Tabelle divider Definitionen:

 

divider

Definition

Baudrate


 


767

SR_BD1200

1200bps

383

SR_BD2400

2400bps

191

SR_BD4800

4800bps

95

SR_BD9600

9600bps

63

SR_BD14400

14400bps

47

SR_BD19200

19200bps

31

SR_BD28800

28800bps

0x8039

SR_BDMIDI

31250bps

23

SR_BD38400

38400bps

15

SR_BD57600

57600bps

11

SR_BD76800

76800bps

 7

SR_BD115200

115200bps

 3

SR_BD230400

230400bps