地磅的显示器通过RS232的串口连接到电脑到,现在要使用PHP来获取地磅上的物品的重量,实时的数据。
$fd=dio_open('COM1:', O_RDWR);
if(!$fd)
{
die("Error when open COM1");
}$ff=dio_stat($fd);print_r($ff);到这里是成功的。dio_read($fd, $len);到这里就不行了请问读取实时的重量的数据,怎么实现?谢谢

解决方案 »

  1.   

    他这个不就是循环吗? 
    while(($t++)<1000)  循环不循环的,不是造成读取失败的理由啊 ????
    是吗?
    你读的时候他正好没发,他发的时候你却没去读
      

  2.   

    噢,我说的不全,是读取的时候,就停在那里,页面加载不下去了,那个进度条一直在缓慢地往前走。不管循环不循环,都是这种情况并且读取的时候,感觉会把COM口给关了,因为我新刷新的时候,会报这个串口打不开(permittion 0)之类的错误
      

  3.   

    你说的也有道理,但是为什么再次刷新,就串口打不开了呢?重启电脑就好了
    是因为php的库,把那个口子给占用了?
      

  4.   

    “(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)”这玩意是不是有点老了。找找有没有第三方类库可用
      

  5.   

    “(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)”:看起来是5.0.5以后的用不了,但是我现在用的是5.2.14,也没有报错不管循环还是只一次运行,dio_read($fd, $len);走到这里就停下了。这个是因为没有数据,它就停在这里了吗?