virusette Geschrieben 6. Juli 2010 Teilen Geschrieben 6. Juli 2010 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 6. Juli 2010 Teilen Geschrieben 6. Juli 2010 Parallelisiere das Programm, also lagere z.B. die Abfragefunktionen in einen eigenen Thread aus, dann wird der Rest vom Programm nicht blockiert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
virusette Geschrieben 11. Juli 2010 Autor Teilen Geschrieben 11. Juli 2010 Danke. War an dem Tag wohl doch etwas zu übermüdet um selbst darauf zu kommen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.