我用Mscomm串口控件进行串口通信,接收数据。我向串口发送一个读命令从数据采集器读取数据,串口就会检测事件,当m_comm.get_CommEvent()==2,接收数据。请问事件相当于一个中断吗?当m_comm.get_CommEvent()==2发生时,无论程序读到哪,都会立刻马上读取数据吗?因为我的程序要循环读取数据,每次都特别的乱,不知道读得是哪个数据,请高手指教,谢谢

解决方案 »

  1.   

    首先要看你的模式:是主从还是什么。
    比如说主从:你发送命令给下位机,它会会给你数据;或者就是只接收,下位机不停地给你发数据。
    你说你要循环读取,一次读多少或者有什么标志位。比如说一次读8个字节,SetRthreshold(8),当缓冲区接收到8字节,就产生了OnComm()事件,然后getinput(),处理数据就可以了。
      

  2.   

    你看下这上面的内容吧,方方面面的都讲到了,全是视频教程,可以说是学习最好的网站之一,不过好像有分才能看,
    http://www.abab123.com/bbs/down.asp?html=1656561
      

  3.   

    有发送命令,当向串口发送一个读取命令,数据采集器接收到命令后才发送数据,在这一段时间内,程序会继续跑别的语句,直到m_comm.get_CommEvent()==2发生,我现在是这一段的时间内不想的让程序往下走,读完数据后再继续往下进行。