| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2040 人关注过本帖
标题:请教串口通信收不到数据问题【能发送成功】
只看楼主 加入收藏
angle3839
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-6-23
收藏
 问题点数:0 回复次数:2 
请教串口通信收不到数据问题【能发送成功】
小弟近日用VC调用MS Communications control 控件来做串口通信,用它发送数据sscom能
正常接收,而用sscom发送数据则接收不到数据【不能得到2号MSCOmm事件】,不知道为什
么。
串口设置部分代码如下:
    m_ComPort.SetDTREnable(false);
    m_ComPort.SetEOFEnable(false);
    m_ComPort.SetHandshaking(false);
    m_ComPort.SetNullDiscard(false);

    m_ComPort.SetInputLen(1);
    m_ComPort.SetSThreshold(1);        //为1表示有一个字符引
    m_ComPort.SetRThreshold(1);
    m_ComPort.SetInputMode(1);            //设置输入方式为十六进制方式
    LPCTSTR para = "9600, n, 8, 1";
    m_ComPort.SetSettings(para);//(COM_BAUD, n, COM_DATA_BIT, COM_STOP_BIT);

消息响应部分如下:
void CTestCOMDlg::OnCommMscomm()
{
    VARIANT vResponse;
    int count;
    if(m_ComPort.GetCommEvent() == 2){            //接收事件
        count = m_ComPort.GetInBufferCount();    //接收到的字符数
        if(count > 0){
            vResponse = m_ComPort.GetInput();    //读数据
        //    SaveData(count, (unsigned char*)vResponse.parray->pvData);
            CEdit* dataSend = ((CEdit *)GetDlgItem(IDC_DATA_SEND));
            dataSend->SetSel(-1, 0);
            CString* dataReceive = (CString*)(vResponse.parray->pvData);
            dataSend->ReplaceSel(dataReceive->GetBuffer(-1));//((CString)dataR
eceive->GetLength());
        }
    }

}

兄弟姐妹们帮忙看看是怎么回事儿【硬件没有问题】。谢谢。
搜索更多相关主题的帖子: 串口 通信 数据 请教 
2008-05-09 09:41
深蓝的世界
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-5-9
收藏
得分:0 
还真看不出来呢
2008-05-09 14:25
快速回复:请教串口通信收不到数据问题【能发送成功】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015447 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved