21.08.2012 Aufrufe

Computertechnik mit Mikrocontrollern

Computertechnik mit Mikrocontrollern

Computertechnik mit Mikrocontrollern

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

KAPITEL 13. AUFBAU DES SYSTEMS 179<br />

#define getbyte_baud putbyte_baud<br />

#include "../include/getbyte_uart.c" // uses uart<br />

//#include "../include/getbyte_buff.c" // uses uart with interrupt<br />

main ()<br />

{<br />

putbyte_init();<br />

getbyte_init();<br />

for (;;)<br />

if (getbyte_ready()) // verhindert, dass getbyte() blockiert<br />

putbyte(getbyte());<br />

}<br />

Wird dies Programm im Mikrocontroller aktiviert und <strong>mit</strong> der<br />

Terminalemulation auf dem PC verbunden, so werden Tastatureingaben<br />

am PC über den Mikrocontroller auf den Bildschirm<br />

der Emulation gebracht.<br />

Die Abfrage von getbyte ready() ist eigentlich nicht notwendig.<br />

In aufwändigeren Programmen wird so verhindert, dass<br />

die Funktion getbyte() blockiert.<br />

Wie beim Hallo-Beispiel gibt es verschiedene Möglichkeiten,<br />

die Funtion des UART zu realisieren:<br />

RS232 Eingabe <strong>mit</strong> UART<br />

//<br />

// Name: software/include/getbyte_uart.c<br />

// Function: AVR serial getbyte over UART<br />

// History: 20031223 Hanns-Konrad Unger creation<br />

// Usage: #define getbyte_clock 6553600 /* frequence of system-clock */<br />

// #define getbyte_baud 38400 /* baud-rate */<br />

//<br />

// #include "getbyte_uart.c"<br />

// getbyte_init();<br />

// if (getbyte_ready()) c=getbyte ();<br />

//<br />

#ifndef getbyte_uart_c<br />

#define getbyte_uart_c<br />

#ifdef __AVR_ATmega8__

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!