Hallo zusammen,
ich versuche mich in der Kommunikation zwischen RaspberryPi und Arduino. Ich habe es dank einiger Beiträge im Forum auch geschafft Informationen auszutauschen. Nun möchte ich das ganze in einem sinnvollen Programm benutzen.
Folgenden Code sende ich an meinen Arduino
und bekomme auch eine entsprechende Antwort (jede Sekunde ein Hallo zurück für 30 Sekunden) über minicom angezeigt.
Mein Problem ist nun, dass ich die gewollte 30sekündige Antwort vom Arduino unterbrechen möchte wenn ich ein neuen Befehl sende.
Also wenn ich folgenden Code sende
sollen alle Daten in der seriellen Warteschlange gelöscht werden damit ich als Antwort nur noch 10 Hallos bekomme.
Wenn ich nämlich ausversehen 3 mal hintereinander den selben Befehl versende, dann bekomme ich z.B. 150 Antworten statt der angeforderten 50.
In einem Beitrag habe ich einen Anhaltspunkt gefunden wie es in Python realisiert werden könnte
# Flush input buffer, if there is still some unprocessed data left
ser.flush() # Try to send old message
ser.flushInput() # Delete what is still inside the buffer
Ich würde es aber gerne als Ausdruck für das Terminal haben, da ich es über exec_shell in einem php-Programm nutzen möchte.
Ich hoffe jemand kann mir helfen. Vielen dank schonmal fürs lesen.