进行32位串口通讯的时候,我想省事所以直接使用MFC提供的MCSComm控件,但是初始化好端口之后怎么都不能扑捉到接受到数据的事件OnCommMscomm()。肯请高手们指点!!    我的串口线只使用到了三根,TXD,RXD和地线,其余5根均未使用,难道这个控件只能使用到标准串口线的情况中?我在串口初始化前使用了
m_Com.SetDTREnable(FALSE);//设置DTR(Data Terminal Ready)线无效
m_Com.SetRTSEnable(FALSE);//设置RTS(Request To Send)线无效
可依然没有效果,求求大家帮帮我吧!    

解决方案 »

  1.   

    m_Com.SetDTREnable(FALSE);//设置DTR(Data Terminal Ready)线无效
    m_Com.SetRTSEnable(FALSE);//设置RTS(Request To Send)线无效这2个先不要!!
    看就标准串口通信时是否有问题!从而找出问题所在
      

  2.   

    还有没有人能帮我一下呢????我的串口初始化代码如下: m_Com.SetDTREnable(FALSE);//设置DTR(Data Terminal Ready)线无效
    m_Com.SetRTSEnable(FALSE);//设置RTS(Request To Send)线无效

    m_Com.SetCommPort(1);  //设置COM1 int i=m_Com.GetCommPort();
    m_Com.SetInBufferCount(1024);//设置输入缓冲区的大小,Bytes
    m_Com.SetOutBufferCount(512);//设置输出缓冲区的大小 if(!m_Com.GetPortOpen())
    m_Com.SetPortOpen(TRUE);
    m_Com.SetInputMode(1);//设置输入方式为二进制方式
    m_Com.SetSettings("2400,n,8,1");//设置数据传输速率等参数"传输速率,校验方
    //式,数据比特数,停止比特数 "
    m_Com.SetRThreshold(1);//有1个字符引发一个事件
    m_Com.SetInputLen(0);//清空输入缓冲区为什么就是不能接收到数据呢?