Frage zu Serial.find()
hallo,
ich habe meinen mega auf der serial1 mit meinem neuen spielzeug (esp8266 wifi-modul) gekoppelt.
wenn ich einen at-befehl raus sende, dann bekomme ich auch wieder eine antwort zurück.
ich benutze jetzt die serial1.find funktion, um abhängig von der antwort etwas zu steuern
also in etwa so:
kann ich jetzt aber noch die empfangenen daten auf der debug-schnittstelle ausgeben?
ein hintergeschobenes
als einzige lösung sehe ich, dass ich nicht mit der find-funktion arbeite, sondern nur das serial-read verwende, die bytes in einem string sammle, und dann den string nach meinem suchstring parse.
gehts irgendwie besser?
ich meine: den serial.find befehl zu verwenden finde ich schön, aber wie kann ich dann noch einmal den empfangspuffer auslesen, um die daten zu kommen?
gruß/hk007
ich habe meinen mega auf der serial1 mit meinem neuen spielzeug (esp8266 wifi-modul) gekoppelt.
wenn ich einen at-befehl raus sende, dann bekomme ich auch wieder eine antwort zurück.
ich benutze jetzt die serial1.find funktion, um abhängig von der antwort etwas zu steuern
also in etwa so:
code: [select]
if(!serial1.find("ok")) {
serial.print ("error");
}
else
{
serial.print ("ok");
}
kann ich jetzt aber noch die empfangenen daten auf der debug-schnittstelle ausgeben?
ein hintergeschobenes
code: [select]
while (serial1.available()) {
serial.write(serial1.read());
}
gibt nichts mehr aus, da vermutlich der puffer schon wieder leer ist.als einzige lösung sehe ich, dass ich nicht mit der find-funktion arbeite, sondern nur das serial-read verwende, die bytes in einem string sammle, und dann den string nach meinem suchstring parse.
gehts irgendwie besser?
ich meine: den serial.find befehl zu verwenden finde ich schön, aber wie kann ich dann noch einmal den empfangspuffer auslesen, um die daten zu kommen?
gruß/hk007
quote
als einzige lösung sehe ich, dass ich nicht mit der find-funktion arbeite, sondern nur das serial-read verwende, die bytes in einem string sammle, und dann den string nach meinem suchstring parse.ich würde es machen, in ein chararray einlesen ende ein '/0' setzen.
dann kann z.b mit strstr gesucht werden.
Arduino Forum > International > Deutsch (Moderator: uwefed) > Frage zu Serial.find()
arduino
Comments
Post a Comment