Frage : Serielle Schnittstelle des Linuxes/PHP las - wie man das fread () für immer wartend wenn keine neuen Daten stoppt?

Ich arbeite durch genau die gleiche Ausgabe wie durch skaap2k beschrieben. (11/04/07 12:01 MORGENS, IDENTIFIKATION: 22503690)

I morgens using einen Bediener des Linuxes (Ubuntu) und ein PHP als web server. Die angebotene Lösung scheint, für eine Befehlszeile Version von PHP zu sein und arbeitet nicht in meinem web server.

In kurz, muss ich zu einem G-/Mmodem über die serielle Schnittstelle using PHP lesen und schreiben. Schreiben ist adaequat.

Reading using fread () von /dev/ttyS1 klemmt den Bediener fest, bis die erforderliche Zahl des Bytesatzes im fread () und ein CR wird empfangen.

I Notwendigkeit, von der Prüfung der seriellen Schnittstelle mit einer Null zurückzugehen, wenn es keine neuen Daten gibt. Ich bin glücklich, ein byteserielles vom Serienpuffer auszuwählen und es in eine Schnur php.

Any zusammenzubauen im Vorschlagswillkommen!
Related Lösungen: PHP Serienport

Antwort : Serielle Schnittstelle des Linuxes/PHP las - wie man das fread () für immer wartend wenn keine neuen Daten stoppt?

Möglicherweise verstanden Sie nicht die erste Antwort richtig.
Zwei Programme bilden - man ist der PHP-Index, den Sie jetzt haben (aber ein littlebit geändert).
Das 2. ist ein Programm, das ununterbrochen /writes auf der seriellen Schnittstelle lesen, was überhaupt es Protokoll erfordert ist und das irgendein jeder Änderung am ersten Programm gibt, wann immer Anträge dieses ist. (F.E. durch das Geben einer Länge + der Daten) dann, selbst wenn die Menge von Daten 0 ist (keine Daten) führen Sie etwas, dass es auf fungieren kann (die 0 Größe).

Das andere possiblity ist, dass Sie einen Blätternpuffer im zweiten Programm halten (wie ein Bildpuffer in VGA oder in einem Anschluss) jedes Mal die Vorderseite bittet um sie, Sie der Vorderseite den gegenwärtigen Rahmen des Ganzen schicken.

Die gültige Methode hängt wirklich von ab, was Sie mit den Daten tun möchten.
Weitere Lösungen  
 
programming4us programming4us