why_another_name 2016-09-08 12:03 采纳率: 50%
浏览 1367

VS2010中使用MSCOMM的串口通信问题

刚刚开始工作,方向是电气,部门老大布置了任务,做一个串口,在网上找了很多教程,但是很多都没有数据位、停止位和奇偶校验位,于是自己添加,但是这个只是在对话框里加进去了显示面,实际上并没起什么作用,然后修改了一下程序,加了几句进去:

m_comb2.GetLBText(m_comb2.GetCurSel(), str1); //取得所选的字符串,并存放在str1里面

m_comb3.GetLBText(m_comb3.GetCurSel(),str2); //数据位

m_comb4.GetLBText(m_comb4.GetCurSel(),str3); //停止位

m_comb5.GetLBText(m_comb5.GetCurSel(),str4); //奇偶校验位

str1 = str1+','+str4+','+str2+','+str3;

    m_mscom.put_CommPort(m_comb1.GetCurSel()+1);    //选择串口
    m_mscom.put_InputMode(1);           //设置输入方式为二进制方式
    m_mscom.put_Settings(str1);          //comb2选择的波特率,无校验,8数据位,1个停止位

    m_mscom.put_InputLen(1024);         //设置当前接收区数据长度为1024
    m_mscom.put_RThreshold(1);          //缓冲区一个字符引发事件
    m_mscom.put_RTSEnable(1);           //设置RT允许

    m_mscom.put_PortOpen(true);         //打开串口

但是运行结果是串口没办法打开了

图片说明

我自己看得结果应该是str1 = str1+','+str4+','+str2+','+str3; 这句的问题,但是具体是什么问题就不知道了,还请各位大神解惑 之前没怎么学过软件,可能有些常识问题不太懂,见谅!!

  • 写回答

1条回答 默认 最新

  • 阿卡阿卡 2016-09-08 12:39
    关注

    检查str1的值,如果是你想要的,那这就没问题

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器