VC++MSComm串口接收程序 and VC上位机For51的认识.doc

VC++MSComm串口接收程序 and VC上位机For51的认识.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC++MSComm串口接收程序制做(原创) 2010-6-21 11:09:25 制作者 济南职业学院 电子工程系 电气二班 朱志强 参考程序:龚建伟技术之串口调试助手源程序。 原地址: 本程序是一个简单的基于windows的程序。 学习了VC就是为了整出来个上位机软件,现在总算是有点收获了…… 抄别人的程序,把接收部分的程序作出来了。。。。和大家分享一下吧,菜鸟们自己摸索着学真的是好辛苦啊………… 这个程序可以接收4×4键盘的按键号,在电脑上显示出16进制的数据。 下面是做的具体步骤: 1.新建工程 启动VC6 ,创建一个基于对话框的可执行工程,名为串口接收。如图1。 图1 新建工程 2.进入了窗口界面后,直接删除TODO:那行的控件。如图2。 图2 删除控件 3.加入MSComm控件 工程(添加到工程(Components and Controls…(我用的是中文版,新手嘛,用中文版的有利于初学啊……)。弹出如图3对话框。 图3 添加MSComm控件 按照图上所选的,打开寻找MSComm控件即可。如图4所示。(注意:安装的软件要是小于100MB的绿色版软件是没有这两个文件夹的,估计需要手动添加,具体的步骤我不知道,大家要是找不到的话,可以去网上找找。或者和我一样,下载一个破解安装版的。) 图4 MSComm控件(小电话) 图5 确定添加MSComm控件? 图6 点击OK 添加完之后就可以在控件里找到了。如图7: 图7 MSComm控件添加完成 4.给对话框添加控件 添加的控件为一个编辑框和一个MSComm控件。 添加MSComm控件的方法是直接把它拖进编辑框里既可以了。运行后不会显示那个小电话的图标。 添加后就如图8所示。 图8 添加控件 5.设置控件的属性和添加变量。 首先是设置编辑框的属性,为多行,垂直滚动。如图9所示。 图9 设置编辑框的属性 图10 编辑框效果 下面更改一下控件的名字,把编辑框的ID改为IDC_EDIT_RXDATA,如图11所示。改动的方法是右击编辑框,选择属性。 图11 更改编辑框ID 随后是添加变量,打开类向导(Ctrl+W),为编辑框添加CString变量m_strRXData,为MSComm控件(IDC_MSCOMM1)CMyDlg::OnInitDialog()打开串口,加入如下代码: // TODO: Add extra initialization here if(m_ctrlComm.GetPortOpen()) m_ctrlComm.SetPortOpen(FALSE); m_ctrlComm.SetCommPort(1); //选择com1 if( !m_ctrlComm.GetPortOpen()) m_ctrlComm.SetPortOpen(TRUE);//打开串口 else AfxMessageBox(cannot open serial port); m_ctrlComm.SetSettings(9600,n,8,1); //波特率9600,无校验,8个数据位,1个停止位 m_ctrlComm.SetInputModel(1); //1:表示以二进制方式检取数据 m_ctrlComm.SetRThreshold(1);? //参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件 m_ctrlComm.SetInputLen(0); //设置当前接收区数据长度为0 m_ctrlComm.GetInput();//先预读缓冲区以清除残留数据 //*****************************代码来源同上(未作修改) 这个代码使用了几次,发现不大适合我安装的VC6,因为这个代码来自的文章是2001年发表的,现在都是2010 年了。。。。呵呵,不过也可能你的不会出现这种情况。 在直接进行编译的时候,系统会提示有一个错误。错误如图17. 图17 编译中出现的错误2 出现这种错的原因是我的vc6的版本中没有使用程序设置MODE的选项。。。所以只有注销掉这句话,手动设置。方法是打开MSComm控件的属性。如图18、19所示。 图18 COMM属性1 图19 COMM属性2 从图19可以看出,没有MODE项!!!!!只能在全部里面设置了……如图20。 图20 COMM属性3 这样设置完之后,那句话注销了就可以了……如图21所示。 图21 修改二进制方式后编译结果 好了,现在在编译一下,没有错误了……这个小程序也可以用了。打开之后,它自动占用COMM1口,用单片机连接comm1口,发送数据,程序运行结果如图2

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档