vc++_串口上位机编程实例附vc串口通信(接收).docx

vc++_串口上位机编程实例附vc串口通信(接收).docx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 10 VC++ 串口上位机简单例程 (源码及详细步骤 ) VC++ 编写简单串口上位机程序 串口通信, MCU 跟 PC 通信经常用到的一种通信方式, 做界面、 写上位机程序的编程语言、编译环境等不少, VB 、C#、LABVIEW 等等,我会的语言很少, C 语言用得比较多,但是还没有找到如何用 C 语言来写串口通信上位机程序的资料,在图书管理找到了用 VC++ 编写串口上位机的资料,参考书籍,用自己相当蹩脚的 C++ 写出了一个简单的串口上位机程序,分享一下,体验一下单片机和 PC 通信的乐趣。 编译环境: VC++6.0 操作系统: VMWare 虚拟出来的 Windows XP 程序实现功能: 1、 PC 初始化 COM1 口,使用 n81方式,波特率 57600与单片机通信。 PC 的 COM 口 编 号可以通过如下方式修改: 当然也可以通过上位机软件编写,通过按钮来选择 COM 端口号,但是此次仅仅是简单的例程,就没有弄那么复杂了。 COM1 口可用的话,会提示串口初始化完毕。否则会提示串口已经打开 Port already open,表示串口已经打开,被占用了。 2、 点击开始转换,串口会向单片机发送 0xaa,单片机串口中断接收到 0xaa 后 启动 ADC 转换一次,并把转换结果 ADCL 、ADCH 共两个字节的结果发送至 PC, PC 进行数值转换后在窗口里显示。 (见文章末尾图 ) 3、 为防止串口被一只占用,点击关闭串口可以关闭 COM1 ,供其它程序使用,点击后按钮变为打开串口,点击可重新打开 COM1 。 程序的编写: 1、 打开 VC++6.0 建立基于对话框的 MFC 应用程序 Test, 2、 在项目中插入 MSComm 控件: 工程 -增加到工程 -Components and Controls- 双击Registered ActiveX Controls- 选 择 Microsoft Communications Control, version 6.0-Insert , 按默认值添加,你会发现多了个电话图标,这是增加后串口通信控件。 3、 删除确认、取消和提示框,添加 “电话 ”、进程、静态文本、按钮、编辑框,拖动添加的控件,根据喜好布局。 4、 右击编辑框 Edit 选择属性,在样式里设置,勾选多行、垂直滚动,其它可按默认值。右击静态文本 Text 选择属性,在常规设置里,修改标题。 右击按钮 PushButton 选择属性,在在常规设置里,修改标题。修改后界面如下,程序写出来运行时 “电话 ”标志会自动消失。 5、 查看 - 建立类向导 MFC ClassWizard-Member Viariable , 选 择 ClassName 为 CTestDlg 的类, Control ID 为 MSCOMM1 ,双击它,为它添加控制变量 m_comm1 。类似的,选择 IDC_BUTTON2 添加控制变量 m_serial。 (建立类向导也可以右击然后在弹出的快捷菜单里选择建立类向导) 至此,基本框架已经出来了,编译后运行可以看到如下所示的界面。 至此,基本框架已经出来了,编译后运行可以看到如下所示的界面。 后 组建 -执行) (组建 - 全部组件,然 6、 点击左侧的视图窗口,可以在三种模式下切换,第三个是打开我们的源代码窗口,第一个是类,第二个是窗体的资源视图。 选择 选择 File View ,展开 test files-Header Files, 打开 testDlg.h ,在全局变量下添加如下代码, 然后保存: int gllen;// 定义整型标量 gllen ,用于记录接收数据的个数CProgressCtrl * pbar; // 指向进度条的指针,用于操作进度条CString strRXDdata; // 编辑框显示的文本,记录历次转换值 7、 点击 Recourse View ,展开 test recourses-Dialog ,双击 们的主界面对话框。 双击击 “电话 ”,弹出如下对话框,按确认键: IDD_TEST_DIALOG ,编辑我 VC 会进入源码编辑窗口,这个函数是用来处理串口事件的,当 PC 串口接收到数据时,会产生一个数据缓冲区有数据的消息事件,然后调用执行这个函数。添加如下代码,进行数 据处理,窗口更新等操作: VARIANT variant1;// 定义 VARIANT 型变量,用于存放接收到的数据 COleSafeArray safearray;// 定义 safearray 型变量LONG len,k;// 定义长整型变量 len,k BYTE rxdata[2048];// 定义 BYTE 型数组

文档评论(0)

文档查询,农业合作 + 关注
官方认证
内容提供者

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

认证主体土默特左旗农特农机经销部
IP属地内蒙古
统一社会信用代码/组织机构代码
92150121MA0R6LAH4P

1亿VIP精品文档

相关文档