用一台PC需要同时给20台设备发送同样的命令并反馈结果,在时间上有限制,只能比发一条命令稍微长一点点时间.怎么样才能做到时间短,资源上不冲突.
有人建议用TTHREAD ,能给出个例子么.

解决方案 »

  1.   

    这个硬件问题是好解决的,我手上就有一种7PORT USB有7个接口,另外还有一个接口是接PC的.PC发送20条命令,通过USB转到20台设备上.  这也算上是并行处理问题,串行的话 时间上不符合要求.
      

  2.   

    接收缓存设大一点,设好时间限制,边发边收进行处理,spcomm是多线程的
      

  3.   

    比如你每50ms发一组数据,而数据在20ms就能接收到,你可以将接收时限设为20ms左右,保证一组数据在接收时限内到,而另一组没到,触发接收事件,在事件内进行数据处理,或保存起来,
      

  4.   

    1,SPCOMM 与THREAD 两者 有什么区别
    2,实际上 比如说发一个命令以及反馈时间为10S,现在20个同时限制的时间为12S,能做到么
      

  5.   

    1 spcomm为多线程,收发各一个线程,两个互不影响
    2 我说的时间是指接收一组数的时间,spcomm中有设定,到了时间触发一次接收事件,在事件中你要把接收到数取出。比如一组数十个,这十个数从发到收到用20ms,你如果设10ms,那么受到5个数就触发事件,你就丢数据。你如果设40ms,那么收到20个数才触发事件,你就多数据了 
      

  6.   

    貌似找不到SPCOMM  按网上说的下载  也不能用???  
     是COM Object  组件吗
      

  7.   

    spcomm.pas
    告诉邮箱发一个给你
      

  8.   

    谢谢   [email protected]
      

  9.   

    是啊,总线,TCP/ip也可以广播的。总线也有很多种。但是返回就要看网络和总线速度了,20个同时返回就不太可能,总要有先后的。有些总线是自动分先后的,有些就没有这个功能。
      

  10.   

    先使用overlapped操作解决问题,必要的地方再使用线程.
      

  11.   

    搞的越来越复杂了 overlapped