




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档计算机控制工程实验三报告实验三 TTY字符发送程序一、功能描述TTY发送程序,在用户在主界面窗口中键入ASCII字符时,字符将通过串口发送到“实验二”TTY接受程序。“串口号”、“波特率”以及“奇偶校验类型”可以设置。要求:1. 采用WinAPI编程实现。2. 基于VC+ “单文档应用程序”模板实现。注意:基类选择“CEditView”。二、实验环境1. Microsoft Visual studio 2012;2. VSPD 6.9虚拟串口软件三、界面设计1. 主界面设计以CeditView为基类创建视图窗口。并编辑菜单属性。2. 设置对话框界面设计主要完成对“端口”、“波特率”、“校验类型”的设置。四、变量声明1、在View类头文件(CMFCApplication3View.h)中声明如下成员变量及相应头文件。HANDLE hCom; /串口句柄OVERLAPPED Wol; /写操作OVERLAPPED结构变量BYTE myWByte300; /存放欲写数据long dataWLen;/发送数据的长度SetupDlg mySetupDlg; /声明设置对话框实例LPCSTR myCom; /串口名称BYTE myParity; /奇偶校验类型DWORD myfParity; /是否使用奇偶校验DWORD myBaudRate; /通信波特率bool blnOpened; /串口已经打开标志int m_delay; /延迟发送时间同时包含#include SetupDlg.h头文件2、利用“ClassWizard”创建设置对话框控件成员变量五、打开串口CString strDis;hCom=CreateFile(myCom,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,NULL);if(hCom !=INVALID_HANDLE_VALUE)SetupComm(hCom,1024,512);DCB myDCB;GetCommState(hCom,&myDCB);myDCB.BaudRate=myBaudRate;myDCB.fBinary=true;myDCB.fParity=myfParity;myDCB.ByteSize=8;myDCB.Parity=myParity;myDCB.StopBits=ONESTOPBIT;SetCommState(hCom,&myDCB);AfxMessageBox(串口打开成功);blnOpened=true;elseAfxMessageBox(串口打开失败);blnOpened=false;六、关闭串口在主界面“关闭串口”菜单项,在事件处理代码中添加:if(blnOpened)&(hCom!=NULL)CloseHandle(hCom);AfxMessageBox(串口已经关闭);blnOpened=false;elseAfxMessageBox(串口未打开);七、设置串口在主界面“设置”菜单项事件处理函数中打开“设置”对话框,对通信参数进行设置。void CMFCApplication3View:OnSetupcom()CString strStatus;if(mySetupDlg.DoModal()=IDOK)switch(mySetupDlg.m_Com)case 0:strStatus=COM1;myCom=COM1;break;case 1:strStatus=COM2;myCom=COM2;break;case 2:strStatus=COM3;myCom=COM3;break;case 3: strStatus=COM4;myCom=COM4;break;case 4: strStatus=COM5;myCom=COM5;break;case 5:strStatus=COM6;myCom=COM6;break;strStatus+=,;switch (mySetupDlg.m_BaudRate)case 0: strStatus+=19200; myBaudRate=CBR_19200; break;case 1:strStatus+=9600;myBaudRate=CBR_9600;break;case 2:strStatus+=4800;myBaudRate=CBR_4800;break;case 3:strStatus+=2400;myBaudRate=CBR_2400;break;default:break;strStatus+=,;switch (mySetupDlg.m_Parity)case 0:myfParity=false;myParity=NOPARITY;strStatus+=N;break;case 1:myfParity=true;myParity=ODDPARITY;strStatus+=O;break;case 2: myfParity=true;myParity=EVENPARITY;strStatus+=E;break;default:break;strStatus+=,8,1;CMainFrame* m_pGetFrame=(CMainFrame *) AfxGetApp()-m_pMainWnd;strStatus=TTY 发送程序 -+strStatus;m_pGetFrame-SetWindowText(strStatus);八、发送字符在View类“OnChar”事件中发送键入字符。void CMFCApplication3View:OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)/ TODO: 在此添加消息处理程序代码和/或调用默认myWByte0=nChar;dataWLen=1;Wol.Internal=0;Wol.InternalHigh=0;Wol.Offset=0;Wol.OffsetHigh=0;Wol.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);WriteFile(hCom,&myWByte,dataWLen,NULL,&Wol);Beep(1000,10);CEditView:OnChar(nChar, nRepCnt, nFlags);九、命令的有效性处理“设置”、“打开串口”、“关闭串口”、“退出”命令有效性处理。以“设置”为例子说明:void CMFCApplication3View:OnUpdateSetupcom(CCmdUI *pCmdUI)/ TODO: 在此添加命令更新用户界面处理程序代码if(!blnOpened)pCmdUI-Enable(true);elsepCmdUI-Enable(false);十、定时器的设置添加定时器菜单按钮改变自动发送的定时时间:通过类向导添加事件处理函数:void CMFCApplication3View:OnDelay()/ TODO: 在此添加命令处理程序代码 m_delay=rand()%1000; /随机产生一秒以内的定时时间添加自动发送按钮:添加事件处理程序:void CMFCApplication3View:OnAutosend()/ TODO: 在此添加命令处理程序代码KillTimer(1); /关闭之前的定时器SetTimer(1,m_delay,NULL); /以m_delay的定时时间打开定时器添加WM_TIMER消息响应函数:void CMFCApplication3View:OnTimer(UINT_PTR nIDEvent)/ TODO: 在此添加消息处理程序代码和/或调用默认值Wol.Internal=0; Wol.InternalHigh=0;Wol.Offset=0;Wol.OffsetHigh=0;dataWLen=1; static int i=0; myWByte0=48+i;if(i10) /自动发送0-9到接收端 Wol.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);WriteFile(hCo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业印刷设备维护方案
- UML工具选择规程
- 商业地产项目运作规划方案
- 心理处方细则
- 2025至2030中国高纯碳酸锶行业发展研究与产业战略规划分析评估报告
- 冰川雪山生态环境保护方案解说
- 夏季服装搭配指南
- 传染病医务人员培训方案
- 工控系统数据采集整合方案
- 农业小区作业统一组织协议
- 小学生养成良好学习习惯课件
- 人教版中职数学拓展模块一:3.2.1向量的加法课件(共21张课件)
- 宫外孕大出血护理
- 《乡土中国》非连续性文本阅读专练-2023届高考语文备考专题复习
- 2025年北京市水务局所属事业单位招聘工作人员101人笔试高频重点提升(共500题)附带答案详解
- 2025至2030年中国密炼机上辅机系统行业投资前景及策略咨询研究报告
- 《T CPSS 1013-2021-开关电源电子元器件降额技术规范》
- 初级关务水平测试题库500题(含答案)
- 四川省德阳市中江县2024-2025学年九年级上学期期中考试英语试题(无答案)
- 2024年职工职业技能大赛数控铣工赛项理论考试题库-下(多选、判断题)
- 房地产行业市场调查报告
评论
0/150
提交评论