spcomm是异步的,我的要求很简单,就希望控件是同步的,发完了消息在返回

解决方案 »

  1.   

    如果觉得spcomm不复合要求,可以自己写一个,无非就是多线程读写吗!
      

  2.   

    spcomm的writecommdata函数一调就返回了,实际上这时数据还没发完,我希望有发完数据再返回的控件,本人对windows的api不熟,不太会自己写
      

  3.   

    spcomm的writecommdata函数一调就返回了
    ---------------------------
    基于多线程读写的,都是这样,把数据发送到缓冲区,有写线程写入串口。
      

  4.   

    CreateFile
    WriteFile
    绝对同步
      

  5.   

    大多数此类控件都是多线程模式,如果想按照你说的那个要求,用API吧。对串口的操作,就是CreateFile
    WriteFile
      

  6.   

    //Work Thread
    WriteFile();//写串口
    WaitForSomeTime();//等待一定的时间
    ReadFile();//读串口
    CheckData();//检查返回的值是否为预期,以及一些校验等等
    SetEvent();//读到信息的事件在Work Thread里这样写不就同步了..CSDN论坛浏览器:http://CoolSlob.ys168.com/
      

  7.   

    spcomm发完了消息在返回也能实现啊,用定时器来控制就可以了,控制发完消息再接收消息,其实异步的好处很多的,你可以检测是否接收成功!