Чтение COM (Serial Modem) в PHP - PullRequest
5 голосов
/ 16 июня 2011

Чтение COM (последовательного модема) в PHP

Мне понадобится интерфейс COM (Windows, COM2) для чтения с помощью PHP.

Эта демонстрация продолжается.Чтение - это проблема, иногда оно запускается.

Есть ли другой способ (без диода, без C ++), может быть, w32api_register_function() лучше?



    function rs232init($com,$bautrate)
    {
    `mode $com: BAUD=$bautrate PARITY=N data=8 stop=1 xon=off`;
    }

    function send($comport,$char)
    {

         $fp = fopen ("$comport", "w+");
         if (!$fp)
          {
             echo "not open for read";
          }
        else {
                fputs ($fp, $char);
                 fclose ($fp);
                }
    }

    function read($comport2,$sek)
    {

       $buffer = "";

       $fp2 = fopen ("$comport2", "r+");
         if (!$fp2)
         {
       echo "port is open for read";
       }
    else
      {
      sleep($sek);
             $buffer .= fgets($fp2, 4096);
            }
          return $buffer;
          fclose ($fp2);
}


rs232init("com2","9600");
send("com2","3"); 
$a = read("com2","2"); 
echo $a; 

Ответы [ 2 ]

1 голос
/ 23 июня 2011

На устройство com2 следует ссылаться как 'COM2:'

0 голосов
/ 23 июня 2011

Я должен отметить, что существует класс PHP, уже доступный на http://www.phpclasses.org/package/3679-PHP-Communicate-with-a-serial-port.html.

Я не знаю, какие методы он использует внутри, но, возможно, это немного облегчит начало работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...