MFC编写的串口通信程序,接收不到数据?解决办法

MFC编写的串口通信程序,接收不到数据???
最近用基于MSComm控件,用MFC编写了一个串口收发数据的小程序!单片机的程序就是,接收上位机发送的数据,并发回给上位机。串口调试助手测试成功。但是我用自己编的串口界面测试时,发送框的数据可以发送,但是接受框的数据不能显示!下位机单片机的RXD管脚有数据输入,TXD管脚有数据输出,(用示波器测试)。下面是串口响应代码:
void CSCommTestDlg::OnComm() 
{
    // TODO: Add your control notification handler code here
    VARIANT variant_inp;
    COleSafeArray safearray_inp;
    LONG len,k;
    BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.
    CString strtemp;
    if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
    {             ////////以下你可以根据自己的通信协议加入处理代码
        variant_inp=m_ctrlComm.GetInput(); //读缓冲区
        safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
        len=safearray_inp.GetOneDimSize(); //得到有效数据长度
        for(k=0;k<len;k++)
            safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
        for(k=0;k<len;k++) //将数组转换为Cstring型变量
        {
            BYTE bt=*(char*)(rxdata+k); //字符型
            strtemp.Format("%c",bt); //将字符送入临时变量strtemp存放
            m_strRXData+=strtemp; //加入接收编辑框对应字符串 
        }
    }
    UpdateData(FALSE); //更新编辑框内容
}
求高手予以指点,不胜感激!
------解决思路----------------------
我也遇到了这个问题。
最后猿友提供的办法解决了。
办法:添加mscomm控件的事件响应函数,要点右键添加事件handle-->添加响应函数,不要用类向导添加。
附上链接:http://blog.csdn.net/drlsdrls/article/details/11126069