




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国木质建材行业市场调查研究及发展战略研究报告
- 2025年 贵州公务员考试笔试试题附答案
- 糯米白醋王行业深度研究分析报告(2024-2030版)
- 2025年 东阳市市级机关遴选考试笔试试题附答案
- 中国电阻网络行业市场深度评估及投资策略咨询报告
- 农业种植项目可行性报告
- 2025年中国晶振膜厚控制仪行业市场发展前景及发展趋势与投资战略研究报告
- 管道燃气安全评估报告
- 2025年中国丁腈橡胶混炼胶行业市场发展前景及发展趋势与投资战略研究报告
- 中国健康服务产业园区市场深度分析及投资战略咨询报告
- 家具厂质量管理体系手册
- 核磁共振(NMR)讲课
- 行政法学笔记
- 走进黄帝内经文化殿堂智慧树知到答案2024年上海中医药大学
- 云南省昆明市云南师大附中2023级高一年级教学测评月考卷(六)地理
- QCT1164-2022汽车用天然气滤清器
- Y -S-T 436-2023 铝合金建筑型材图样图册 (正式版)
- 鲁科版高中化学选择性必修第三册知识点复习资料
- DB32 4418-2022《 居住建筑标准化外窗系统应用技术规程》
- 2024-2029年中国外卖包装行业市场现状分析及竞争格局与投资发展研究报告
- 正畸知识科普课件
评论
0/150
提交评论