01.10.2013 Aufrufe

Download - Fakultät 06 - Hochschule München

Download - Fakultät 06 - Hochschule München

Download - Fakultät 06 - Hochschule München

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

28 2 Entwicklung der Software<br />

Bit 7 6 5 4<br />

UCSR0C UMSEL01 UMSEL00 UPM01 UPM00<br />

R/W R/W R/W R/W R/W<br />

Ausgangswerte 0 0 0 0<br />

Initialisierung 0 0 0 0<br />

Bit 3 2 1 0<br />

UCSR0C USBS0 UCSZ01 UCSZ00 UCPOL0<br />

R/W R/W R/W R/W R/W<br />

Ausgangswerte 0 1 1 0<br />

Initialisierung 0 1 1 0<br />

Tabelle 2.4: Initialisierung des USART: Register UCSR0C<br />

Register UBRR0<br />

Im Register UBBR0, dem USART Baud Rate Register, wird die gewünschte<br />

Übertragungsrate des USART in Bits pro Sekunde eingestellt. Der Wert von<br />

UBBR0 errechnet sich zu:<br />

UBBRn =<br />

Fosc<br />

16BAUD − 1 [1]<br />

Um eine möglichst geringe Abweichung der eingestellten Baud-Rate von<br />

den angestrebten 9600 Baud zu erreichen, wird der µC über einen externen<br />

Quarz mit 18,432MHz Taktrate betrieben. UBRR0 ergibt sich somit zu:<br />

UBRR0 = 18,432MHz<br />

16∗9600<br />

− 1 = 119<br />

Einige Werte von UBRR0 für die gängigsten Baudraten bei einem externen<br />

Quarz mit 18,432MHz sind in Tabelle 2.5 aus dem Datenblatt [1] auf Seite 29<br />

aufgeführt. Zusätzlich ist die Abweichung von der angestrebten Baud-Rate<br />

in % angegeben. Diese ist auch der Grund für die Auswahl des verwendeten<br />

Quarzes. Bei einem Takt von 18,432MHz ist laut Tabelle 2.5 bei den<br />

meisten der üblichen Baud-Raten kein wesentlicher Fehler zu erwarten.<br />

Als letzter Schritt wird mit der Anweisung<br />

1 t =UDR0;<br />

sichergestellt, dass der Empfangspuffer geleert ist, was dazu führt, dass die<br />

RXC0 Flag gelöscht und der USART empfangsbereit ist.<br />

2.2.2 Grundlegender Aufbau des Programms<br />

Das Programm besteht aus drei Funktionen. Eine Funktion zum Auslesen<br />

des Empfangspuffers UDR0, genannt „read232“, zwei Interrupt Service<br />

Routinen zur Ausgabe, und der Hauptfunktion „main“ in dem die<br />

zur Ausgabe des jeweiligen Zeichens benötigte ISR eingestellt und aktiviert<br />

wird.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!