Serial_Init (Mega)

Serielle Funktionen        Beispiel


Syntax

 

void Serial_Init(byte serportbyte parword divider);

 

Sub Serial_Init(serport As Byte, par As Bytedivider As Word)

 

 

Beschreibung

 

Die serielle Schnittstelle wird initialisiert. Der Wert par wird durch Oderieren der vordefinierten Bitwerte zusammengestellt. Man oderiert erst Zeichenlänge, dann Anzahl der Stopbits und dann Parity. Z.B. "SR_7BIT | SR_2STOP | SR_EVEN_PAR" für 7 Bit pro Zeichen, 2 Stop Bit und gerade Parität (siehe auch Beispiel). Diese Werte sähen in BASIC Syntax wie folgt aus: "SR_7BIT Or SR_2STOP Or SR_EVEN_PAR". Die Baudrate wird als Teilerwert angegeben, wie in der Tabelle spezifiziert.

 

 Wenn man die "gepollten" seriellen Routinen benutzt, besteht, insbesondere bei hohen Baudraten, die Möglichkeit, das Zeichen nicht empfangen werden. Um dies zu verhindern bitte Serial_Init_IRQ() anstelle von Serial_Init() benutzen.

 

 Man kann den DoubleClock Modus des Atmel AVR einschalten. Dies geschieht, wenn das High Bit im Teiler gesetzt wird. Beim DoubleClock muss gegenüber der normalen Tabelle der Teiler verdoppelt werden, um die gleiche Baudrate zu erhalten. Dafür sind dann "krumme" Baudraten besser einstellbar. Z.B. MIDI: Der neue Wert SB_MIDI (=803a Hex) liegt jetzt sehr nahe an 31250baud. Beispiel für 19200baud: Der Teiler für 19200baud ist 002f (Hex). Für den DoubleClock Modus verdoppelt man nun den Teiler (= 005e Hex). Nun das Hi-Bit setzen, und man kann anstatt 2f (Hex) auch 805e (Hex) für 19200baud benutzen .

 

Parameter

 

serport   Schnittstellennummer (0 = 1.serielle, 1 = 2.serielle etc..)

par Schnittstellenparameter (siehe Tabelle)
divider Baudrateninitialisierung mittels Teiler (siehe Tabelle)

 

 

Tabelle par Definitionen:

 

Definition

Funktion

 

 

SR_5BIT

5 Bit Zeichenlänge

SR_6BIT

6 Bit Zeichenlänge

SR_7BIT

7 Bit Zeichenlänge

SR_8BIT

8 Bit Zeichenlänge

 

 

SR_1STOP

1 Stop Bit

SR_2STOP

2 Stop Bit

 

 

SR_NO_PAR

no Parity

SR_EVEN_PAR

even Parity

SR_ODD_PAR

odd Parity