freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于c的rs232通信協(xié)議模擬終端畢業(yè)論文-資料下載頁

2025-05-27 18:06本頁面
  

【正文】 yDlg::OnSendbtn() { // TODO: Add your control notification handler code here UpdateData(true)。 //讀取編輯框內容 if(()) { CByteArray hexdata。 int len=String2Hex(m_send,hexdata)。 //此處返回的len可以用于計算發(fā)送了多少個十六進制數 (COleVariant(hexdata))。 //發(fā)送十六進制數據 } else (COleVariant(m_send))。//發(fā)送ASCII字符數據 CByteArray hexdata。 unsigned int le=String2Hex(m_send,hexdata)。 unsigned char* pC = (unsigned char*)(LPCTSTR)m_send。 if(()) m_crcs=crc16r(pC,le)。 UpdateData(false)。 ()。 //發(fā)送后清空輸入框 UpdateData(false)。 //更新編輯框內容 //if(())}(7)十六進制轉換模塊本模塊主要是實現(xiàn)將字符轉換成十六進制形式,轉換后發(fā)送到接收區(qū)的數據即是十六進制的形式。單個字符轉換成十六進制的流程圖如圖415所示,代碼如下。開始N字符是否在0F之間Y返回值1轉換成相應的16進制形式結束圖415 單個字符轉換成十六進制的流程圖int CMyDlg::String2Hex(CString str, CByteArray amp。senddata) { int hexdata,lowhexdata。 int hexdatalen=0。 int len=()。 (len/2)。 for(int i=0。ilen。) { char lstr,hstr=str[i]。 if(hstr==39。 39。) {i++。 continue。 } i++。 if(i=len) break。 lstr=str[i]。 hexdata=ConvertHexChar(hstr)。 lowhexdata=ConvertHexChar(lstr)。 if((hexdata==16)||(lowhexdata==16)) break。 else hexdata=hexdata*16+lowhexdata。 i++。 senddata[hexdatalen]=(char)hexdata。 hexdatalen++。 } (hexdatalen)。 return hexdatalen。} char CMyDlg::ConvertHexChar(char ch){if((ch=39。039。)amp。amp。(ch=39。939。)) return ch0x30。 else if((ch=39。A39。)amp。amp。(ch=39。F39。)) return ch39。A39。+10。 else if((ch=39。a39。)amp。amp。(ch=39。f39。))return ch39。a39。+10。 else return (1)。} 程序測試首先,;其次,按以下步驟進行測試:(1)登錄 輸入錯誤密碼,程序提示“密碼、用戶名錯誤,請重試!”如圖416所示。圖416 用戶名密碼不一致輸入正確用戶名和密碼,程序提示“登錄成功!歡迎使用!”如圖417 所示。圖417 用戶名密碼正確(2)串口和參數的設置 登陸成功后跳轉到主界面,通信之前要設置可用的串口號,設置串口號時若沒有選對串口號,應用程序會提示不可用的串口,直到設置了可用的串口號[24]。然后需要打開串口,點擊【打開串口】按鈕,程序會提示串口打開成功,最后設置通信參數,點擊【設置】按鈕,跳轉到設這界面,根據需要選擇通信參數,如果保存設置就點擊【確定按鈕】否則點擊【退出】按鈕,之后又回到了主界面,現(xiàn)在即可進行數據的發(fā)送了。如圖418所示。圖418 設置串口和參數(3)發(fā)送數據選擇串口號,并將此串口打開,設置通信參數完成后,在發(fā)送區(qū)內的編輯框輸入要發(fā)送的內容,然后點擊【發(fā)送】按鈕,發(fā)送去編輯框里要發(fā)送的內容會通過此串口發(fā)送到另一個端口的接收區(qū)的編輯框內,并在接收區(qū)的編輯框內顯示了發(fā)送的內容,同理也可在另一個串口的發(fā)送區(qū)編輯框內輸入數據,此數據也可發(fā)送到本串口的編輯框內,也會在接收區(qū)的編輯框內得到顯示,如圖419所示。即串口3的內容“”發(fā)送到了串口4中,串口4的內容“”可以發(fā)送到串口3的接收區(qū),并在編輯框中得到顯示。圖419 發(fā)送接收數據(4)十六進制顯示和計算CRC值設置完成各參數后,選擇十六進制發(fā)送、接收復選框和計算CRC數值復選框,點擊【發(fā)送按鈕】,可以看到在接收區(qū)字符是以十六進制形式顯示的,接收和發(fā)送的CRC值在編輯框中顯示,這樣就可以判斷發(fā)送的內容是否受到干擾。如圖420所示。圖420 十六進制顯示和計算發(fā)送接收數據CRC值(5)關閉串口退出整個應用程序發(fā)送數據結束后,關閉串口,點擊【退出】按鈕,程序提示“謝謝使用!再見”。如圖421 所示:圖421 系統(tǒng)提示框 本章小結本章介紹了Windows編程下的MFC和串行通信控件MSComm,詳細的描述了利用MFC和串行通信控件MSComm實現(xiàn)兩臺PC機間的數據交換的設計概述、模塊功能、代碼實現(xiàn)等。并對此應用程序進行了運行測試。 第5章 結論通過RS232標準協(xié)議接口,用WINDOWS編程下的MFC應用程序,基于C++語言的串行通信,基本實現(xiàn)了兩臺PC機間的數據交換。主要功能有用戶名密碼驗證登錄、設置串口號、打開串口、關閉串口、設置通信參數等。了解了串行通信接口,即RS232標準以及接口,學習了串行通信的基本原理,串行通信的通信參數,例如波特率、數據位、停止位和奇偶校驗位等。掌握了串行通信的基本概念。學習了一些數據庫的相關知識,利用了數據庫中最簡單、最方便的Microsoft Office Access數據庫,通過ODBC建立數據源來實現(xiàn)用戶名密碼登錄驗證功能。實現(xiàn)通信功能時,綜合考慮了多種能實現(xiàn)通信的方式后,最終選擇了Windows編程下的MFC應用程序,使用C++語言實現(xiàn)串行通信,其中使用的是MSComm控件。應用程序實現(xiàn)了選擇串口、打開串口、關閉串口、發(fā)送接收數據等功能,同時又可通過應用程序設置通信參數(包括波特率、數據位、停止位和奇偶校驗位等)。由于通信過程中,被傳遞的數據有可能受到各種因素的影響,造成數據丟失,更改等,影響發(fā)送接收數據的準確性。所以通信過程中要對接收到的數據進行校驗。最簡單的校驗是奇偶校驗,通過統(tǒng)計接收數據中二進制數‘0’和‘1’的個數,來確認收到的數據是否正確。但此方法只能簡單驗證不準確。所以對通信過程中數據交換準確度的驗證采用了比較準確的方法即CRC校驗,CRC校驗全稱CRC(Cyclic Redundancy Check)循環(huán)冗余校驗碼,它是數據通信中最常用的一種差錯校驗碼,數據從發(fā)送端發(fā)送過來同時在其低位上是兩個CRC校驗碼,接收方對接收到的數據進行CRC解碼,與發(fā)送來的數據進行比對,驗證是否相同,若相同則接收到的數據是正確的,反之則證明數據在發(fā)送過程中受到了干擾等,需重新發(fā)送此數據。使用此校驗方法可以保證數據收發(fā)的準確性??傊?,RS232標準一直都應用于通信領域中,串行通信以其成本低、結構簡單等優(yōu)點被人們廣泛應用。用RS232協(xié)議實現(xiàn)兩臺PC機間的串行通信是實現(xiàn)主控機與外圍通信的前提,為以后實現(xiàn)更加復雜的設備間通信奠定了基礎。 參 考 文 獻[1] [D].上海:華東師范大學,2010.[2] [D].合肥:合肥工業(yè)大學,2009.[3] 樊一支,姜文祥,陳梨園。串行通信控制的C++生成和RS232[M].北京:清華大學出版社,2002年.[4] [M].北京:中國電力出版社,2007[5] [J].計算機工程和設計,2003,24(12):120123.[6] [D].北京:北京工商大學,2009.[7] 5209Modem的AT指令分析和擴展[D].南京:東南大學,2008.[8] [D].青島:青島大學,2012.[9] ,2010.[10] 常曉明,[J].電子技術應用,1995,12(6):2240.[11] [J].電腦知識與技術,2012,23(5):1545..[12].VisualC++技術內幕[M].:清華大學出版社,1996.[13][M].北京:北京學苑出版社,1994.[14] Bjarne Stroustrup. The C++ Programming Language:Special Edition[J]. AddisonWesley Professional,2010,19(11):2568..[15] [M].武漢:華中科技大學出版社,2001.[16] 王華,岳麗全,++[J].長春工程學院學報:自然科學版,2009,10(1):3255.[17] Herbert ++:The Complete Reference,Fourth Edition[J] .McGrawHill,2009,23(7):1552.[18] 孫淑霞,李思明,++程序設計實驗指導與測試第2版[J].北京:電子工業(yè)出版社,2007.[19] 王莉,++的串口通信設計及其應用[J].控制工程,2004,11 (S1) :8999.[20] 王珊,[M].北京:清華大學出版社,2007.[21] Adam Structures and Algorithms in C++ Third Edition[J].Thomson ,2(1):1347.[22] ++[M].北京:北京希望電子出版社,2001年,第16.[23] Stanley ,Josee LaJoie,Barbara . C++ Primer[J]. Addison Wesley/Pearson ,2006,3(6):2748.[24] David ,Scot Wingo,George Shepherd. Programming Visual C++[J]. 2001,2(5):3678.43
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1