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

why_another_name 2016-09-08 07:57:21
刚刚开始工作,方向是电气,部门老大布置了任务,做一个串口,在网上找了很多教程,但是很多都没有数据位、停止位和奇偶校验位,于是自己添加,但是这个只是在对话框里加进去了显示面,实际上并没起什么作用,然后修改了一下程序,加了几句进去:
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; 这句的问题,但是具体是什么问题就不知道了,还请各位大神解惑 之前没怎么学过软件,可能有些常识问题不太懂,见谅!!
...全文
186 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
why_another_name 2016-09-09
  • 打赏
  • 举报
回复
引用 3 楼 rxguoblp 的回复:
确实是str1 = str1+','+str4+','+str2+','+str3; 这句话的问题,因为m_Comm.put_Settings()函数的标准形参格式是: m_Comm.put_Settings("9600,n,8,1");//传输参数 其中第2个形参是小写的n,写成None的话就错了。 改一下就好
果然好了,多谢,意思是只能用这一个类型的么。。。
rxguoblp 2016-09-09
  • 打赏
  • 举报
回复
确实是str1 = str1+','+str4+','+str2+','+str3; 这句话的问题,因为m_Comm.put_Settings()函数的标准形参格式是: m_Comm.put_Settings("9600,n,8,1");//传输参数 其中第2个形参是小写的n,写成None的话就错了。 改一下就好
why_another_name 2016-09-09
  • 打赏
  • 举报
回复
引用 1 楼 schlafenhamster 的回复:
"COM1" 不叫 “COM 1” 即combo 中的 字符 不是 settings要的 !
不太懂什么意思,是str1的偏移错误吗?我就是在这个错误上找不到正确的应该是怎样的了。
schlafenhamster 2016-09-09
  • 打赏
  • 举报
回复
"COM1" 不叫 “COM 1” 即combo 中的 字符 不是 settings要的 !

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧