打印

WIN7 上位机串口编程问题

[复制链接]
2285|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wzx1102k|  楼主 | 2012-12-24 22:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上位机串口接收程序和所有网上贴的基本无差别。网上大多数帖子已经浏览遍了,但从未出现我下面这个问题,实在找不到原因了, 现求助高手。
系统是WIN7, 编译环境是VS2008, 之前是用VS2012,发现了如下问题,怀疑是版本不兼容,直接换VS2008 ,还是以下的问题。
先发段串口接收代码(和大部分网上一致):

void CscommDlg::OnComm()
{
        // TODO: 在此处添加消息处理程序代码
        VARIANT variant_inp;
        COleSafeArray safearray_inp;
        LONG len,k;
        BYTE rxdata[5];
        CString strtemp;
        if(m_scomm1.get_CommEvent()==2)
        {
                //m_scomm1.put_RThreshold(0);
                variant_inp=m_scomm1.get_Input();
                safearray_inp=variant_inp;
                len=safearray_inp.GetOneDimSize();
                for(k=0;k<len;k++)
                {
                        BYTE bt=*(char*)(rxdata+k);
                   strtemp.Format(_T("%c"),bt);
                        m_recv+=strtemp;
                }
                //m_scomm1.put_RThreshold(5);
        }
        UpdateData(FALSE);
};
编译是没有问题的, 然后我用下位机每隔一秒发送一个字节数据, 我用串口调试助手收没有任何问题,而用这个代码  接收没显示,然后单步运行, 发现一个情况:
variant_inp=m_scomm1.get_Input(); 执行到这里 就不执行下一步语句了,直接 跳出去, 下次接收 ,执行到这 又不执行了, 跟踪这个代码的定义到get_Input函数:
VARIANT get_Input()
        {
                VARIANT result;
                InvokeHelper(0x1a, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, NULL);
                return result;
        }
在InvokeHelper(0x1a, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, NULL);执行到这就不执行return result; 实在是不知道什么问题,我看网上贴的所有相关代码都没问题,
然后输出框提示有个异常:
     scomm.exe 中的 0x757bc6e3 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0023ec34 处的 COleDispatchException。
scomm.exe 中的 0x757bc6e3 处最可能的异常: Microsoft C++ 异常: 内存位置 0x00000000 处的 [rethrow]。
每隔一秒 弹一个 这个, 正好符合我下位机发送数据的频率, 请解高手 这个到底怎么解决啊,弄好久了。

相关帖子

沙发
dxshappy| | 2012-12-30 18:59 | 只看该作者
不知道,帮顶一下

使用特权

评论回复
板凳
yhhsky| | 2013-3-31 10:08 | 只看该作者

使用特权

评论回复
地板
reg_marvell| | 2013-4-7 17:36 | 只看该作者
你这个代码是从那里找的? 有没有设置inputThreshold

使用特权

评论回复
5
fsdsdfdf| | 2013-4-19 20:05 | 只看该作者
顶顶····

使用特权

评论回复
6
shuiqinghan2012| | 2013-8-18 17:15 | 只看该作者
:)

使用特权

评论回复
7
王太晓| | 2013-10-29 16:51 | 只看该作者
:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

38

帖子

1

粉丝