Hallo Experten,
Ich sende über das Hyperterminal Zeichen an den Microcontroller und dieser wertet diese Zeichen aus. Sobald der Buchstabe "A" eingelesen wird, werden alle eingebenen Zeichen als String ausgegeben. Dabei habe ich leider das Problem, dass die Variable i komischer- und interessanterweise den ASCII-Wert als Dezimalwert des ertsen Buchstabens ausgibt... Kann mir jemand weiterhelfen. Danke für eure Hilfe!!!
int ledPin = 8;
int zeit = 1000;
const unsigned int baut_rate = 9600;
char inhalt []={};
int i = 0;
byte eingabe;
void setup ()
{
Serial.begin(baut_rate);
pinMode(ledPin, OUTPUT);
Serial.println("Microcontroller - PC Kommunikation");
Serial.println();
Serial.print(i); // variable i wird ausgelesen, muss 0 in diesem Moment sein
Serial.println();
}
void loop ()
{
if (Serial.available() >0)
{
eingabe=Serial.read();
Serial.print("Zeichen empfangen: ");
inhalt[i]= char(eingabe);
Serial.print(inhalt[i]);
if (inhalt[i] != 0x41){ //alle Zeichen bis buchstabe A werden eingelesen
Serial.print("OK");
digitalWrite (ledPin, LOW);
Serial.print(i); //variable i wird ausgelesen, zur Kontrolle
i++;
}
else
{
Serial.print("FALSE");
for (int a=0; a<=i-1; a++) //ausgabe aller Zeichen als String
{
Serial.print(inhalt[a]);
//Serial.print(i);
Serial.println();
digitalWrite (ledPin, HIGH);
}
i = 0;
}
Serial.println();
}
}