在mfc中能否通过mscomm控件实现以下功能?
在dialog中添加一个button,然后在在OnButton函数中通过mscomm进行通讯,
要求能够如下所示的功能:
for(int i=0;i<=64;i++)
{
read(); //与设备进行通讯,读取其中数据
algol();//根据收到的数据进行处理
write();//处理后的数据写入设备地址中
}
关键是read()后OnCommEvent事件为什么不能马上被触发?

解决方案 »

  1.   

    可能因为mscomm控件的事件是同步的,不是异步的,只要一个函数在运行,事件就不会触发。而异步事件则是随时都可以触发的。
    签名:jmcooler
      

  2.   

    用api 实现,可以达到很好的控制。waitcommevent(),setcommmask().
      

  3.   

    在此有一个简单的类,正好适合你的要求
    此类没采用事件触发,是查询方式的http://www.csdn.net/expert/topic/853/853481.xml?temp=.2465937open
    while (1)
    {  i=length();
       if (i...) { read break;} //读到
    }
    ...
    write()
      

  4.   

    试试多线程,建一个线程扫描串口,
    要不就用api,creafile,readfile,writefile,waitcommevent(),setcommmask().