virusette Geschrieben 6. Juli 2010 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?
Bubble Geschrieben 6. Juli 2010 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.
virusette Geschrieben 11. Juli 2010 Autor Geschrieben 11. Juli 2010 Danke. War an dem Tag wohl doch etwas zu übermüdet um selbst darauf zu kommen.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden