Ich stehe irgendwie auf dem Schlauch und vor folgendem Problem:
Ich muß drei serielle Schnittstellen etwa 1x pro Sekunde abfragen unter folgenden erschwerten Bedingungen:
- Nach dem Absenden eines Datenblocks kommt die Antwort zwischen 50ms und einer Sekunde. (siehe hier).
- nur dreiadrige Verkabelung, kein handshake
- in diesen ergobikes ist irgendwelche mickrige Hardware verbastelt, die manchmal auch gar nicht antwortet.
Konkret interessiert mich nur der Datenblock, den man unter dem Befehl "Run_Daten erhält". Nun kann ich nicht von den drei schnittstellen das ganze Programm stoppen lassen um auf die eventuellen Rückgabewerte zu warten, da inzwischen noch etwas anderes ausgewertet und angezeigt wird.
Irgendwie stehe ich auf dem Schlauch. Ich wollte ursprünglich mit epoll die drei Schnittstellen pollen, komme damit aber nicht so richtig klar.
Ich schreibe das Programm unter Ubuntu in C mit gcc als Compiler.
Könntet Ihr mir den richtigen Klaps auf den Hinterkopfbzw einen Link auf eine Problemlösung geben?