| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 370 人关注过本帖
标题:请教串口通信收不到数据问题【能发送成功】
收藏  订阅  推荐  打印
angle3839
Rank: 1
等级:新手上路
帖子:5
积分:160
注册:2006-6-23
请教串口通信收不到数据问题【能发送成功】

小弟近日用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-5-9 09:41
深蓝的世界
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2008-5-9

还真看不出来呢
2008-5-9 14:25
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.047123 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved