




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
串口通信程序编写 姓名 潘培哲专业 控制工程学号 12013002347 基于VisualC 软件环境 Windows7MicrosoftVisualStudio2012CSerialPort类 定义了串口变量和通信方法 链接地址 编程步骤 新建一个MFC项目 命名 编程步骤 编程步骤 基本的窗口 对话框编辑器 直接拖动到窗口中去 编程步骤 用到的几种控件 布局后的界面 编程步骤 为每一个控件命名 在控件上右键单击 属性 编程步骤 命名完成后的窗口 为组合框添加数据 解压CSerialPort并将 h 和 cpp 文件复制到工程中去 主对话框头文件中引入 include SerialPort h 编程步骤 编程步骤 在对话框c文件中声明串口类对象CSerialPortm SerialPort定义一个布尔变量BOOLm bPortOpen 用来表示标志串口是否打开 编程步骤 给控件添加变量 在控件上右键单击 添加变量 编程步骤 给控件添加变量 编辑框 编辑框只需关联Value型变量 变量名用于程序中赋值时调用 编程步骤 给控件添加变量 组合框 ComboBox需要添加控制变量 变量名用于获取索引值 编程步骤 将各个控件的变量关联如下 m ctrlComPort m ctrlBaudRate m ctrlDataBits m ctrlPairty m strTxMsg m strRxMsg m ctrlStopBits m strBaudRate m strPairty Control型变量 Value型变量 Value型变量 编程步骤 对写好的对话框进行一个初始化 在初始化函数OnInitDialog 中添加如下语句 BOOLC串口通信程序Dlg OnInitDialog CDialogEx OnInitDialog m ctrlComPort SetCurSel 0 设置默认的索引值m ctrlBaudRate SetCurSel 0 m ctrlPairty SetCurSel 0 m ctrlDataBits SetCurSel 3 m ctrlStopBits SetCurSel 0 GetDlgItem IDC BUTTON1 EnableWindow TRUE 把窗口中的 打开串口 置为活动的可操作状态GetDlgItem IDC BUTTON2 EnableWindow FALSE 把窗口中的 关闭串口 置为灰色的不可操作状态 编程步骤 向对话框头文件中添加串口接收字符函数的消息响应声明 响应Cserialport类中的消息响应函数 OnComm接收数据 编程步骤 然后再向对话框CPP文件中添加OnComm函数的消息映射 响应Cserialport类中的消息响应函数 OnComm接收数据 编程步骤 接着 在对话框CPP文件中加入函数OnComm 的实现 至此 每当串口接收缓冲区中有一个字符时 就会产生一个WM ONCOMM RXCHAR消息 触发OnComm 函数 这时就可以在函数中进行数据处理 响应Cserialport类中的消息响应函数 OnComm接收数据 编程步骤 编写按钮控件消息响应处理函数 打开串口 编程步骤 编写按钮控件消息响应处理函数 打开串口 voidC串口通信程序Dlg OnBnClickedButton1 intSelPort SelBaudRate SelDataBits SelStopBits charSelParity 定义字符型变量SelPort m ctrlComPort GetCurSel 1 得到串口号 GetCurSel 得到的是索引值 0 Max SelStopBits m ctrlStopBits GetCurSel 1 得到停止位SelDataBits m ctrlDataBits GetCurSel 5 得到数据位UpdateData TRUE 把选定值写入变量SelBaudRate atoi m strBaudRate 得到波特率值 atoi是将字符型转整型函数 9600 9600 SelParity m strPairty GetAt 0 获得数据位 GetAt返回的是字符串的第一个字符值if m SerialPort InitPort this GetSafeHwnd SelPort SelBaudRate SelParity SelDataBits SelStopBits EV RXFLAG EV RXCHAR 512 m SerialPort StartMonitoring 启动串口通信检测线程函数m bPortOpen TRUE 指示串口已打开UpdateData FALSE else AfxMessageBox 没有发现此串口或者被占用 返回一个提示窗口m bPortOpen FALSE 指示串口已关闭 GetDlgItem IDC BUTTON1 EnableWindow m bPortOpen 根据串口开闭的情况 禁用或使能按钮GetDlgItem IDC BUTTON2 EnableWindow m bPortOpen 根据串口开闭的情况 禁用或使能按钮 编程步骤 编写按钮控件消息响应处理函数 关闭串口 voidC串口通信程序Dlg OnBnClickedButton2 m bPortOpen FALSE 指示串口已关闭GetDlgItem IDC BUTTON1 EnableWindow m bPortOpen 使能 打开串口 按钮GetDlgItem IDC BUTTON2 EnableWindow m bPortOpen 禁用 关闭串口 按钮 以同样的方法打开 关闭串口 按钮的消息函数 插入下面语句 编程步骤 编写按钮控件消息响应处理函数 发送 以同样的方法打开 发送 按钮的消息函数 插入下面语句 voidC串口通信程序Dlg OnBnClickedButton3 if m bPortOpen 检测串口是否打开return 如果关闭 则结束函数else 如果打开 则执行下面语句UpdateData TRUE 读入编辑框的数据 把编辑框中的字符写入变量 m SerialPort WriteToPort LPCTSTR m strTxMsg 调用函数发送数据 编程步骤 编写按钮控件消息响应处理函数 清空 以同样的方法打开 清空 按钮的消息函数 插入下面语句 voidC串口通信程序Dlg OnB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2. 齿轮传动教学设计-2025-2026学年高中物理教科版选修2-2-教科版2004
- 4.2数值计算(教学设计)-高一信息技术同步教材配套教学设计+教学设计(教科版2019必修1)
- 小白菜品牌故事挖掘与传播创新创业项目商业计划书
- 第17课《短文两篇-陋室铭》说课稿 2023-2024学年统编版语文七年级下册
- C 质速关系和质能关系教学设计-2025-2026学年高中物理华东师大版上海拓展型课程II-华东师大版上海2010
- 陶瓷手工成型工工艺考核试卷及答案
- 锁零件制作工技能比武考核试卷及答案
- 海洋平台设备检测频次研究报告
- 2025年机械制造企业服务化转型中的服务创新与精密加工技术报告
- 2025年充电桩企业光储充一体化项目市场布局优化策略报告
- 2025年肇庆市怀集县卫生事业单位招聘考试笔试试卷【附答案】
- 2025年烟草专卖行业招聘面试技巧与模拟题解答
- 灭火器年度检测维修标准
- 书桌劳动课件
- 2025年福建省综合性评标专家库评标专家考试历年参考题库含答案详解(5套)
- 24节气与习俗教学课件
- 供油船管理办法
- 2026届福建省泉州市泉州实验中学中考冲刺卷英语试题含答案
- 麻精药品管理课件
- 2025年秋期部编版四年级上册小学语文教学计划+教学进度表
- 感知与判断-美术鉴赏的过程与方法+课件-2024-2025学年高中美术人美版(2019)+必修+美术鉴赏
评论
0/150
提交评论