Aufbau eines Benutzer-Menüs über die RS232-Schnittstelle
|
01_rs232menue.zip - Download des nachfolgenden Projektes.
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.