21.08.2012 Aufrufe

Computertechnik mit Mikrocontrollern

Computertechnik mit Mikrocontrollern

Computertechnik mit Mikrocontrollern

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.

KAPITEL 13. AUFBAU DES SYSTEMS 174<br />

void putstring (unsigned char * ptr) {while (*ptr) putbyte (*ptr++);}<br />

main () {<br />

putbyte_init();<br />

putstring ("\f* Hello World! *\r\n");<br />

putstring ("================\r\n");<br />

}<br />

Die Funktion putstring() ruft die Funktion putbyte() solange<br />

auf, bis der String durch eine Null beendet wird. Diese elegante<br />

C-Lösung eignet sich nur für Fälle, bei denen man sicher<br />

ist, keine Null ausgeben zu müssen. Terminals verwenden die<br />

binäre Null in der Regel nicht. Für die Funktion putbyte()<br />

<strong>mit</strong> der zugehörigen Funktion putbyte init() sollen jetzt drei<br />

Lösungsvarianten gezeigt werden:<br />

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

//<br />

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

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

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

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

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

//<br />

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

// putbyte_init();<br />

// putbyte (’\n’);<br />

//<br />

#ifndef putbyte_uart_c<br />

#define putbyte_uart_c<br />

#include <br />

#include "mainboard.h"<br />

// at90s4433: UBRR=(putbyte_clock/putbyte_baud/16-1);<br />

#ifdef __AVR_ATmega8__<br />

#define putbyte_T 16<br />

#else // ATmega48 ...<br />

#define putbyte_T 16<br />

#endif<br />

#define putbyte_init()\

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!