在PHP中读取COM(串行调制解调器)

时间:2011-06-16 10:06:14

标签: php serial-port

在PHP中读取COM(串行调制解调器)

我需要一个用PHP读取的COM接口(Windows,COM2)。

这个演示正在进行中。 阅读是一个问题,它有时会运行。

还有其他方式(没有二恶英,没有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 个答案:

答案 0 :(得分:1)

com2设备应引用为“COM2:”

答案 1 :(得分:0)

我应该指出http://www.phpclasses.org/package/3679-PHP-Communicate-with-a-serial-port.html已经有了一个PHP序列类。

我不知道它在内部使用了什么方法,但也许它会让这一点更容易上手。