通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)-利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì).doc

通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)-利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì).doc

ID:61337070

大?。?37.50 KB

頁數(shù):25頁

時(shí)間:2021-01-25

通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)-利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì).doc_第1頁
通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)-利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì).doc_第2頁
通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)-利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì).doc_第3頁
通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)-利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì).doc_第4頁
通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)-利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì).doc_第5頁
資源描述:

《通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)-利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì)一課程設(shè)計(jì)題目利用MSCOMM串口通信控件進(jìn)行異步串行通信的VC程序設(shè)計(jì)二課程設(shè)計(jì)要求●環(huán)境要求:Windows95/98/2000/XP●功能要求:能將鍵盤上輸入的數(shù)據(jù)發(fā)送到另一臺(tái)計(jì)算機(jī)上;能將接收到的數(shù)據(jù)顯示到屏幕窗口內(nèi);了解常用通信網(wǎng)絡(luò)設(shè)備的操作和應(yīng)用,掌握常用的通信協(xié)議的工作原理,能利用VisualC++、開發(fā)工具完成相應(yīng)的通信程序的設(shè)計(jì)工作。學(xué)習(xí)簡明地介紹自己的設(shè)計(jì)工作。三課程設(shè)計(jì)目的用VisualC++編程工具主機(jī)提供的接口,解決網(wǎng)絡(luò)用戶之間的

2、交互式對(duì)話問題。進(jìn)一步深入掌握網(wǎng)絡(luò)設(shè)計(jì)和通信程序的設(shè)計(jì)原理。使學(xué)生對(duì)計(jì)算機(jī)通信網(wǎng)絡(luò)的設(shè)計(jì)實(shí)現(xiàn)有較深的了解,培養(yǎng)較高的通信網(wǎng)絡(luò)設(shè)計(jì)能力。四程序思路硬件連接方面:數(shù)據(jù)的發(fā)送和接收由軟件控制,不進(jìn)行硬件握手,其連接方法如圖真正需要互相連接的是RXD、TXD和GND;軟件方面:串行端口的本質(zhì)功能是作為CPU和串行設(shè)備間的編碼轉(zhuǎn)換器。當(dāng)數(shù)據(jù)從CPU經(jīng)過串行端口發(fā)送出去時(shí),字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位。在接收數(shù)據(jù)時(shí),串行的位被轉(zhuǎn)換為字節(jié)數(shù)據(jù)在Windows環(huán)境(WindowsNT、Win98、Windows2000)下,串口是系統(tǒng)

3、資源的一部分。應(yīng)用程序要使用串口進(jìn)行通信,必須在使用之前向操作系統(tǒng)提出資源申請(qǐng)要求(打開串口),通信完成后必須釋放資源(關(guān)閉串口)。VC++6.0提供的MSComm控件通過串行端口發(fā)送和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能。使用非常方便?!、牛诋?dāng)前的Workspace中插入MSComm控件?! roject菜單------>AddtoProject---->ComponentsandControls----->Registered  ActiveXControls--->選擇Components:Micros

4、oftCommunicationsControl,  version6.0插入到當(dāng)前的Workspace中。結(jié)果添加了類CMSComm(及相應(yīng)文件:mscomm.h和mscomm.cpp)?!、疲趍scomm.h中加入MSComm控件。protected:  CMSCommm_ComPort;在mscomm.cpp::OnCreare()中:  DWORDstyle=WS_VISIBLE

5、WS_CHILD;  if(!m_ComPort.Create(NULL,style,CRect(0,0,0,0),this

6、,ID_COMMCTRL)){TRACE0("FailedtocreateOLECommunicationsControl");return-1;  //failtocreate    }⑶.打開并初始化串口voidCComDlg::OnOpencom(){if(m_Com.GetPortOpen())//打開通信端口m_Com.SetPortOpen(FALSE);m_Com.SetCommPort(1);//選擇com1if(!m_Com.GetPortOpen()){m_Com.SetPortOpen(

7、TRUE);//打開串口MessageBox("串口已經(jīng)打開");}elseMessageBox("不能打開串口!");m_Com.SetSettings("9600,n,8,1");//波特率9600,無校驗(yàn),8個(gè)數(shù)據(jù)位,1個(gè)停止位//以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位m_Com.SetInputMode(1);//定義Input屬性獲取數(shù)據(jù)的方式(為0:文本方式;為1:二進(jìn)制方式)。m_Com.SetRThreshold(1);//為1表示有一個(gè)字符引發(fā)一個(gè)事件m_Com.SetInpu

8、tLen(0);//設(shè)置每次Input讀入的字符個(gè)數(shù),缺省值為0,表明讀取接收緩沖區(qū)中的全部內(nèi)容m_Com.GetInput();m_opened=TRUE;}⑷.捕捉串口事項(xiàng)。MSComm控件可以采用輪詢或事件驅(qū)動(dòng)的方法從端口獲取數(shù)據(jù)。我們介紹比較使用的事件驅(qū)動(dòng)方法:有事件(如接收到數(shù)據(jù))時(shí)通知程序。在程序中需要捕獲并處理這些通訊事件。在MainFrm.h中:protected:afx_msgvoidOnCommMscomm();DECLARE_EVENTSINK_MAP()在ComDlg.cpp中:BEGIN

9、_EVENTSINK_MAP(CComDlg,CDialog)//{{AFX_EVENTSINK_MAP(CComDlg)ON_EVENT(CComDlg,IDC_MSCOMM2,1/*OnComm*/,OnComm,VTS_NONE)//}}AFX_EVENTSINK_MAPEND_EVENTSINK_MAP()//映射ActiveX控件⑸.串口讀寫.完成讀寫的函數(shù)的確

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。