Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define MAXSTRING 5
- char inString[MAXSTRING+1]; // Space for the string plus Nullbyte
- byte index = 0;
- char finishflag = 0;
- void setup()
- {
- Serial.begin(9600);
- pinMode(13, OUTPUT);
- }
- void loop()
- {
- /*
- * Task 1:
- * Serielle Daten abrufen
- */
- if(Serial.available())
- {
- // Mindestens ein Zeichen empfangen
- char zeichen = Serial.read();
- // Überprüfen ob c ein Sonderzeichen ist (CR+LF)
- // Außerdem ob Buffer zu voll
- if( (zeichen=='\r') ||
- (zeichen=='\n') ||
- (index >= MAXSTRING) )
- {
- inString[MAXSTRING] = 0; // Für definiertes Ende sorgen
- inString[index] = 0; // Reguläres Ende
- finishflag = 1; // Für Weiterverarbeitung
- index = 0;
- // Serielle Pipeline flushen
- while(Serial.available())
- Serial.read();
- }
- else
- {
- // Zeichen in String lesen
- inString[index++] = zeichen;
- }
- }
- /*
- * Task 2:
- * Wenn ein String vollständig ist (finishflag == 1)
- * String weiterverarbeiten
- */
- if(finishflag)
- {
- finishflag = 0;
- if( !strcmp(inString, "start"))
- {
- Serial.write("Start empfangen\n");
- digitalWrite(13, HIGH); // set the LED on
- }
- else if( !strcmp(inString, "stopp"))
- {
- Serial.write("Stop empfangen\n");
- digitalWrite(13, LOW); // set the LED on
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment