Posiadam urządzenie które co sekunde wysyła na port liczby z przedziału 0-255 i oczekuje polecen 1-8.
Po podłączeniu musze w cmd wpisać "mode COM6: BAUD=2400 PARITY=N data=8 stop=1 xon=off".
No i wszystko powinno być ładnie, ale niestety mój skrypt się zawiesza i blokuje port, nie wiem czemu, oto kod:
function port($tryb,$p) { $port='COM6:'; if ($tryb=='r'){ if (!$fp) { file_put_contents('debug1.log',date(r).' '.$port.': nie mozna otworzyc do odczytu'."\r\n",FILE_APPEND); } return $buffer; } if ($tryb=='w'){ if (!$fp) { file_put_contents('debug1.log',date(r).' '.$port.': nie mozna otworzyc do zapisu'."\r\n",FILE_APPEND); } else { } } }
Za każdym razem po wpisaniu polecenia cmd musze jeszcze uruchamiać putty, dopiero wtedy skrypt działa. Niestety to mija się z celem, ponieważ urządzenie musi być dostępne cały czas tylko z przeglądarki. Przez ten skrypt komunikacja się zawiesza, gdzie robie błąd?
Pozdrawiam