Aufbau eines Benutzer-Menüs über die RS232-Schnittstelle
|
char* holeText() { i=0; while(true) { while( !(UCSRA & (1<<RXC))); puffer[i]=UDR; //Zeichen zurückschicken: while( !(UCSRA & (1<<UDRE)) ); UDR = puffer[i]; //Ende Zeichen zurückschicken i++; if(puffer[i-1]=='\r' || i>=MAXPUFFER) //Return-Taste break; } puffer[i]='\0'; return puffer; }
Code 0-1: Methode, um am Hyperterminal eingegebenen Text an den Mikrocontroller zu schicken.
|
#include <avr/io.h> #define TAKTFREQUENZ 9216000 #include "RS232.h" RS232 rs232; int main(void) { char* puffer_zeiger; rs232.start(true,true); while(true) { rs232.sendeText("Geben Sie eine Zeichenfolge ein, die Sie mit ENTER beenden:\n\r"); puffer_zeiger = rs232.holeText(); rs232.sendeText("\n\rSie haben folgende Zeichenfolge eingegeben:\n\r"); rs232.sendeText(puffer_zeiger); rs232.sendeText("\n\r"); } return 0; }
Code 0-1: Hauptprogramm zum Testen der neuen Methode.