版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓名计算机控制工程实验三报告实验三TTY字符发送程序一功能描述TTY发送程序,在用户在主界面窗口中键入ASCII字符时,字符将通过串 口发送到“实验二” TTY接受程序。“串口号”、“波特率”以及“奇偶校脸类型” 可以设置。要求:1 .采用VVInAPI编程实现。2 .基于VC+ “单文档应用程序”模板实现。注意:基类选择“CEdltView”。二、实验环境1. Microsoft Visual studio 2012:2. VSPD 6.9虚拟串口软件三、界面设计1 .主界面设计以CeditView为基类创建视图窗口。并编辑菜单属性。通 无 - MFCApplicationS X文件(F)通
2、信祥助(H)定8T器 K以 信鸟及2 .设置对话框界面设计常用帔件课程设计姓名常用收件课程设计主要完成对“端口”、“波特率”、“校脸类型”的设置。四、变量声明1、在View类头文件 文件。(CMFCApplication3View. h)中声明如下成员变量及相应头HANDLE hCom;OVERLAPPED Wol;BYTE myWByte300; long dataWLen;SetupDlg mySetupDlg;LPCSTR myCom;BYTE myParity; DWORD myfParity; DWORD myBaudRate; bool blnOpened; int m-delay
3、;同时包含#include串口句柄写操作OVERLAPPED结构变量存放欲写数据发送数据的长度声明设置对话框实例串口名称奇偶校脸类型是否使用奇偶校验通信波特率串口已经打开标志延迟发送时间"SetupDlg. h"头文件以日四:=a四:MFCAp plication3»SetupDlgCDialogEx堆声比CD:setupdlg.hSS;IDO.SETUPDLG乏aw:sctupdlg.cpp命令 退息法函物H成员变星:方法丁P庄员登星控件ID关型成员 IDC_COMBO_Bintm_BaudRate9 IDC_COMBO_COMintm_Com IDC_COMB
4、O_Pintm_ParitylJidcancel tlllDOK2、利用"ClassWizard"创建设竞对话框控件成员变量五、打开串口CString strDis;hCom=CreateFile (myCom, GENERIJREAD :GENERIC_WRITE, 0, NULL, OPEN.EXISTING, FILE.ATTRIBUTE.NORNtAL FILE_FLAG_OVERLAPPED, NULL);if (hCom ! =IN'ALID.HAXDLE.VALUE) SetupComm(hCom»1024, 512);DCB myDCB;G
5、etCommState(hCom, &myDCB);myDCB. BaudRate=myBaudRate;myDCB. fBinary=true;myDCB. fParity=myfParity;myDCB. ByteSize=8;myDCB. Par ity=m5rPar ity;myDCB. StopBits=ONESTOPBIT;SetCommState(hCom, &myDCB);AfxMessageBox("串口 打开成功);blnOpened=true;)elseAfxMessageBox("串口打开失败“);blnOpened=false;六、
6、关闭串口在主界面“关闭串口”菜单项,在事件处理代码中添加: if(blnOpened) && (hCom:=NULL)CloseHandle(hCom);AfxMessageBox("串口 已经关闭);blnOpened=false;elseAfxMessageBox ("串 口未打开”);七、设置串口在主界面“设置”菜单项事件处理函数中打开“设置”对话框,对通信参数 进行设置。void CMFCApplication3View:OnSetupcom() CString strStatus;if(mySetupDlg. DoModal0=IDOK)switc
7、h(mySetupDlg. m_Com)(case 0: strStatus="COMl ; myCoHF"C0Ml"break;)case 1:strStatus="COM2" myCom="C0M2"break;)case 2:strStatus="C0M3z aiyCom="C0M3"break;)case 3:(strStatus="C0M4”; myConF, COM4”; break;)case 4:strStatus=zC0M5" myCom="C0M
8、5" break;)case 5:(strStatus="C0M6" myCom="C0M6"break;)strStatus十=",”;switch (mySetupDlg. m_BaudRate)case 0:strStatus+=/r19200z myBaudRat e=CBR_l9200; break;)case 1:(strStatus+=,9600"myBaudRat e=CBR_9600; break;)case 2:(strStatus+="ISOO"myBaudRate=CBR_4800
9、;break;)case 3:strStatus+=,2400zz;myBaudRate=CBR_2400; break;)default:break;strStatus+=","switch (mySetupDlg. m_Parity) (case 0:my fPar i ty=fa1se; myParity=XOPARITY; strStatus+="N"break;)case 1:myfParity=true;myParity=ODDPARITY; strStatus+=<z0"break;常用帔件课程设计case 2:myfPar
10、ity=true;myParity=EVENPARITY;strStatus+=E”;break;)default:break;strStatus+=*, 8, 1 ;CMainFrame* m_pGetFrame=(CMainFrame *) AfxGetApp 0 ->m_pMainWnd;strStatus=,TTY 发送程序 -"+strStatus;m_pGetFrame">SetWindowText (strStatus);) 八、发送字符在View类“OnChar”事件中发送键入字符。void CMFCApplication3View:OnChar
11、(UINT nChar, UINT nRepCnt, UINT nFlags) (/ TODO:在此添加消息处理程序代码和/或调用默认myWByte0=nChar;dataWLen=l;Wol. Internal=O;Wol. InternalHigh=O;Wol. Offset=O;Wol.OffsetHigh=0;Wol. hEvent=CreateEvent(NULL, TRUE, FALSE, NULL);WriteFile(hCom,dataWLen, NULL, &Wol);Beep (1000,10);CEditView::0nChar(nChar, nRepCnt, n
12、Flags);九、命令的有效性处理“设置”、“打开串口”、“关闭串口”、“退出”命令有效性处理。以“设置” 为例子说明:void CMFCApplication3View: :OnUpdateSetupcom(CCmdUI *pCmdUI) (/ TODO:在此添加命令更新用户界面处理程序代码if (IblnOpened) pCmdUI">Enable(true);常用帔件课程设计else常用帔件课程设计pCmdUI->Enable(false);十、定时器的设置添加定时器菜单按钮改变自动发送的定时时间:FCApplication.AINFRAME - Menu X文件但
13、 通信© 帮助口定时器MFCApplication3 ETUPDLC1青正比心差人超时时间清在此处建人通过类向导添加事件处理函数:void CMFCApplication3View::OnDelay() (/ TODO:在此添加命令处理程序代码m_delay=rand()%1000;随机产生一秒以内的定时时间添加自动发送按钮:通信(Q帮助(H) 定时器Ctrl + SCtrl+OCtrl+L Ctrl + AiSB 打开串口 关闭百口止) 二动发送® 钮也处置入添加事件处理程序:void CMFCAppli cat i on3Vi ew:OnAut os end() (/
14、TODO:在此添加命令处理程序代码KiUTimer(l);关闭之前的定时器SetTimer (1, m_delay, NULL) ;/以m_delay的定时时间打开定时器添加WMJIMER消息响应函数:,区:取杀阱:,ZfM.SJUCUPBOARD*AMSPOOCERSTATUS,AM.SYSCHAR'AM.SVSCOtORCHWMGE,AM.SVSCOMMAND郅OAC<X3 AM.SYSK'OOWN 力 M.SVSMnW AM.KARO 'AM.THeMEOUMGSD 'AMJiMECHANGE WM.TIMKOna.rWM.CHARlonTtnc*W
15、M TIMER演星 任戏方法void CMFCApp11cation3View:OnTimer(UINT_PTR nIDEvent) (/ TODO:在此添加消息处理程序代码和/或调用默认值Wol. Internal=O;Wol. InternalHigh=O;Wol. Offset=O;Wol.OffsetHigh=0;dataWLen=l;static int i=0;myWByte0=48+i;if(i<10)自动发送0-9到接收端Wol. hEvent=CreateEvent(NULL, TRUE, FALSE,NULL);WriteFile (hCom, myWByte, 1, NULL, &Wol);Beep(1000, 10);i+; else KillTimer (nIDEvent);发送完毕关闭定时器i=0; CEditView::0nTimer(nIDEvent); 十一、实验二、三联调坡?仔全空射:COM2JO2D0N8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年坚果炒货行业企业战略风险管理报告
- 2024年冻干粉针剂项目策划方案报告
- 2024年绿色金融项目创业投资方案
- 2024年羧酸项目营销方案
- 高中地理第3单元产业活动与地理环境第一节农业生产与地理环境(增农业生产的地区差异)省公开课一等奖新名
- 词性练习题市公开课一等奖省赛课微课金奖课件
- 短歌行说课市公开课一等奖省赛课微课金奖课件
- 展示设计说课稿省公开课一等奖全国示范课微课金奖课件
- 一年级音乐上册第七单元唱游森林单元教案省公开课一等奖新名师获奖课件
- 中考历史复习第四单元世界古代史近代史第18课时近代社会的发展市赛课公开课一等奖省名师获奖
- PDCA提高护士交接班质量
- 初中地理星球地图八年级上册(2023年新编) 中国的自然环境《地形地势特征》作业设计
- 中医操作并发症预防及处理
- (新教材)粤教粤科版四年级下册科学 第15课 物体的运动方式 课时练(同步练习)
- 2022年晋城市妇幼保健院医护人员招聘考试笔试题库及答案解析
- 主诊医师负责制的实施与管理
- 一年级数学下册教案 5.5《收玉米》 北师大版
- 2022年ISO50001-2018能源管理体系全套管理手册及程序文件
- T∕CAIM 023-2021 脑出血中西医结合诊疗专家共识
- 立柱桩及格构柱施工简介ppt课件
- 新概念英语第一册Lesson-77-78-课后练习
评论
0/150
提交评论