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

正文內(nèi)容

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

2024-09-17 10:50本頁面
  

【正文】 3263232 XXXXXXXXC R C 124578 ?????? XXXXXX ( 35) 以其中 CRCCCITT 形式為例。從把數(shù)據(jù)移位開始計算,將數(shù)據(jù)位(從最低的數(shù)據(jù)位開始)逐位移入反向耦合移位寄存器。此時, 16 位移位寄存器中的內(nèi)容就是 CRC 碼。 圖 31 生成 CRCCCITT 的移位寄存器的作用原理 13 CRC校驗的實現(xiàn) 實現(xiàn) CRC 校驗有很多種算法和方式,最基本的算法應(yīng)該是按位計算了 ,這個方法可以適用于所有長度的數(shù)據(jù)校驗,是最為靈活 的,但由于是按位計算,其效率并不是最迅速、最優(yōu)的,只適用于對速度不敏感的場合。在使用的時候,把計算出來的校驗值放在最后兩個字節(jié)里,將其發(fā)送出去,接收端對所有的數(shù)據(jù)進行相同的校驗,如校驗值為 0 我們則認(rèn)為其數(shù)據(jù)沒有出錯。 本章介紹了通信中最常使用的校驗方法,即 CRC 校驗。并通過 CRC 校驗實現(xiàn)通信中的檢錯。其中使用 MFC 直接編寫提供大量預(yù)先編好的類和支持代碼或使用 MFC 和向?qū)В?Wizards)編寫,用 AppWizard 來生成 Windows 應(yīng)用程序框架。 MFC 提供了構(gòu)造 Windows 應(yīng)用程序的框架,它不僅為應(yīng)用程序建立標(biāo)準(zhǔn)的結(jié)構(gòu),還為其提供了標(biāo)準(zhǔn)的圖形用戶界面如 菜單欄、工具欄、狀態(tài)欄等,開發(fā)人員只需要在此基礎(chǔ)上添加針對特定應(yīng)用的代碼即可。 Windows應(yīng)用程序的框架主要有兩種類型,一種是基于對話框的應(yīng)用程序框架,另外一種是基于文檔、視圖結(jié)構(gòu)的應(yīng)用程序框架。 MFC的全稱是 Microsoft Foundation Classes。 1989年微軟公司成立 Application Framework技術(shù)團隊,名為 AFX小組,用以開發(fā) C++面向?qū)ο蠊ぞ呓o Windows應(yīng)用程序開發(fā)人員使用。 串行通信控件 MSComm 目前,以 Win 32 下的 MFC 應(yīng)用程序為主要框架,基于 VC++的常用串行通信編程一般可以 用兩種方法實現(xiàn):一種是使用 Windows API 通信函數(shù)。 其余一種是利用 MSComm ActiveX 串行通信控件 。 這樣 程序員 就 不需要花 費大量 時間去了解復(fù)雜的 API 函數(shù),只需要利用 MSComm 控件就可實現(xiàn)串口編程。 程序的主要功能 實現(xiàn)兩臺 PC 機之間的通信的應(yīng)用程序,主要實現(xiàn)了密碼登陸、參設(shè)設(shè)置、參數(shù)顯示、打開串口、關(guān)閉串口、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收等功能。 圖 41 主要功能框圖 應(yīng)用程序 主要實現(xiàn)的功能如圖 41 所示 的主要功能框圖 ,此應(yīng)用程序的 總體程序流程圖如圖 42 所示。在發(fā)送接收數(shù)據(jù)過程中需要打開串口。能夠發(fā)送單個或多個數(shù)據(jù) 。程序流程圖如圖 32 所示。 建立工程 要實現(xiàn)通信,首先應(yīng)先建立工程,即新建基于 Win32 的 MFC 應(yīng)用程序。并將這個應(yīng)用程序命名為通信。 圖 43 建立基于對話框應(yīng)用程序過程圖 18 按照如上所示的方法步驟 ,建立 Win32 下的 MFC 應(yīng)用程序工程, 應(yīng)用程序工程名 為 “通信 ”,最后點擊完成按鈕,就會出現(xiàn) MFC 應(yīng)用程序初始界面如圖44 所示 。本次登陸界面使用的數(shù)據(jù)庫是微軟的Access 數(shù)據(jù)庫。對 Access 數(shù)據(jù)庫的連接與操作有很多種方法,例如在 ASP 中建立對 Access數(shù)據(jù)庫的連接、使用 Recordset 對象 操作 Access 數(shù)據(jù)庫、使用 SQL 指令操作數(shù)據(jù)庫、使用 DSN 連接 Access 數(shù)據(jù)庫等。 19 首先,啟動 Microsoft Office Access,建立 Access 數(shù)據(jù)庫,命名為 demo01,然后在數(shù)據(jù)庫中創(chuàng)建一個表,命名為 puser,在表 puser 中輸入序號( userid)、用戶名( username)和密碼( userpwd),將這個數(shù)據(jù)庫保存。數(shù)據(jù)庫和數(shù)據(jù)源建立完成后,開始用 MFC 建立登陸界面。 圖 45 數(shù)據(jù)庫中用戶名和弱密碼 運行應(yīng)用程序時,若輸入了錯誤的用戶名或密碼,則系統(tǒng)會提示輸入錯誤。登陸界面如圖 46 所示。接收區(qū)由靜態(tài)文本框和編輯框組成;發(fā)送區(qū)同樣也是由靜態(tài)文本框和邊界框組成;設(shè)置區(qū)由組合框、按鈕和靜態(tài)文本框組成。 圖 47 主界面 完成兩臺 PC 機間的串行通信(數(shù)據(jù)交換),必須保證兩個串口的 通信 參數(shù)一致,這樣就需要將兩個應(yīng)用程序的通信參數(shù)重新設(shè)置,通信參數(shù)包括波特率、數(shù)據(jù)位、停止位、奇偶校驗位等。界面的具體情況如圖 48 所示。 需 要重新輸入和驗證,驗證通過后才可以登錄。 } void CMylogin::OnOK() { TODO: Add extra validation here UpdateData(TRUE)。 try { if(()) ()。%s39。%s39。 (CRecordset::snapshot,NULL,CRecordset::none)。 AfxMessageBox(用戶名、密碼錯誤,請重試! )。 } else { ()。 CDialog::OnOK()。 return。 初始化的程序流程圖如圖 410 所示。 …… // TODO: Add extra initialization here CMylogin my。//顯示登錄界面 if(()) //如果發(fā)現(xiàn)串口本來是打開的,則關(guān)閉串口 (FALSE)。 //選擇 COM4端口 開始 顯示登陸界面 串口是否打開 設(shè)置參數(shù) 結(jié)束 關(guān)閉串口 Y N 25 (1)。 //設(shè)置輸入緩沖區(qū) (512)。//波特率,無校驗,個數(shù)據(jù)位,個停止位 return TRUE。程序流程圖如圖 411 所示,實現(xiàn)其功能代碼如下: 開始 設(shè)置串口號 打開串口 關(guān)閉串口 結(jié)束 26 void CMyDlg::OnOpen() { // TODO: Add your control notification handler code here if(()) (FALSE)。 UpdateData(true)。 (m_n+1)。 //接收緩沖區(qū) (1024)。//設(shè)置當(dāng)前接收區(qū)數(shù)據(jù)長度為 ,表示全部讀取 (1)。//接收緩沖 區(qū)有個及個以上字符時,將引發(fā)接收數(shù)據(jù)的 OnCommMsm事件 if(!()) { (TRUE)。 //每當(dāng)接收緩沖區(qū)有個字符則接收串口數(shù)據(jù) (0)。 //預(yù)讀緩沖區(qū)以清除殘留數(shù)據(jù) } else AfxMessageBox(打開端口失敗 !,MB_ICONSTOP,0)。 } 27 使用 MSComm 通信控件是 MFC 中進行串口通訊最簡單的。加入 MSComm 通信控件, 實現(xiàn)從緩沖區(qū)中讀取數(shù)據(jù),同時將數(shù)據(jù)給接收變量,更新接收區(qū)編輯框的內(nèi)容 。 COleSafeArray safearray_inp。 byte rxdata[512]。 if(()==2) //值為表示接收緩沖區(qū)內(nèi)有字符 { variant_inp=()。 ///變量轉(zhuǎn)換 len=()。klen。k,rxdata+k)。klen。 //字符型 (%c,bt)。 //加入接收編輯框?qū)?yīng)字符串 } } CString temp=(\r\n)。 UpdateData(FALSE)。參數(shù)設(shè)置模塊流程圖如圖 413 所示,實現(xiàn)應(yīng)用程序具體功能的 代碼如下: 29 圖 413 通信參數(shù)設(shè)置流程圖 void CMyDlg::OnSet() { // TODO: Add your control notification handler code here CSetcs sc。 = m_databit。 = m_stopbit。 CString conf。break。break。break。 } switch(m_jiaoyan) // 設(shè)置校驗方法 { case 0:conf = conf + n,。 case 1:conf = conf + o,。 case 2:conf = conf + e,。 default:conf = conf+n,。 } switch(m_databit) // 設(shè)置數(shù)據(jù)位 { case 0:conf = conf + 5,。 case 1:conf = conf + 6,。 case 2:conf = conf + 7,。 case 3:conf = conf + 8,。 default:conf = conf+8,。 } switch(m_stopbit) // 設(shè)置停止位 { case 0:conf = conf + 1。 31 case 1:conf = conf + 。 case 2:conf = conf + 2。 default:conf = conf+1。 } (conf)。 } } 發(fā)送數(shù)據(jù)模塊中,程序先讀取編輯框的內(nèi)容,同時發(fā)送和清空,最后更新編輯框的內(nèi)容。 //讀取編輯框內(nèi)容 (COleVariant(m_send))。 //發(fā)送后清空輸入框 UpdateData(false)。 圖 415 用戶名密碼不一致 33 輸入正確用戶名和密碼,程序提示 “登錄成功!歡迎使用! ”如圖 416 所示。 如圖 417 所示。 即串口 3 的內(nèi)容 “學(xué)號是 090402095”發(fā)送到了串口 4 中,串口 4 的內(nèi)容“Hello!我是富卓! ”可以發(fā)送到串口 3 的接收區(qū),并在編輯框中得到顯示。如圖 419 所示: 圖 419 系統(tǒng)提示框 36 本章小結(jié) 本章介紹了 Windows 編程下的 MFC 和串行通信控件 MSComm,詳細的描述了利用 MFC 和串行通信控件 MSComm 實現(xiàn)兩臺 PC 機間的數(shù)據(jù)交換的設(shè)計概述、模塊功能、代碼實現(xiàn)等。 37 第 5章 結(jié)論 通過 RS232 標(biāo)準(zhǔn)協(xié)議 接口 ,用 WINDOWS 編程下的 MFC 應(yīng)用程序,基于C++語言的串行通信, 基本 實現(xiàn)了兩臺 PC 機間的數(shù)據(jù)交換。 ,即 RS232 標(biāo)準(zhǔn)以及接口, 學(xué)習(xí)了串行通 信的基本原理,串行通信的通信參數(shù),例如波特率、數(shù)據(jù)位、停止位和奇偶校驗位等。 ,利用了數(shù)據(jù)庫中最簡單、最方便的Microsoft Office Access 數(shù)據(jù)庫,通過 ODBC 建立數(shù)據(jù)源來實現(xiàn)用戶名密碼登錄驗證功能。應(yīng)用程序?qū)崿F(xiàn)了選擇串口、打開串口、關(guān)閉串口、發(fā)送接收數(shù)據(jù)等功能,同時又 可通過應(yīng) 用程序設(shè)置通信參數(shù) (包括波特率、數(shù)據(jù)位、停止位和奇偶校驗位等)。所以通信過程中要對接收到的數(shù)據(jù)進行校驗。但此方法只能簡單驗證不準(zhǔn)確。使用此校驗方法可以保證數(shù)據(jù)收發(fā)的準(zhǔn)確性。用 RS232 協(xié)議實現(xiàn)兩臺 PC 機間的串行通信是實現(xiàn)主控機與外圍通信的前提,為以后實現(xiàn)更加復(fù)雜的設(shè)備間通信奠定了基礎(chǔ)。串行通信控制的 C++生成和 RS232[M].北京:清華大學(xué)出版社, 2020 年,第 218. [6] 金衛(wèi)民. VC 下利用串口進行數(shù)據(jù)通信的研究 [J].計算機工程和設(shè)計, 2020, 24(12):120123. [7] 張筠莉,劉書智編著 .VisualC++實踐與提高 串口通信與工程應(yīng)用篇 [J].北京:中國鐵道出版社, 2020. [8] Bjarne Stroustrup. The C++ Programming Language:Special Edition[J]. AddisonWesley Professional, 2020. [9] 王華,岳麗全,岳志高 .MSComm 控件在 VC++ 串口通信中的應(yīng)用 [J].長春工程學(xué)院學(xué)報:自然科學(xué)版, 2020, 10( 1) . [10] Herbert ++:The Complete Reference,Fourth Edition[J] .McGrawHill [11] 孫淑霞,李思明,劉煥君編著 .C/C++程序設(shè)計實驗指導(dǎo)與測試 第 2 版 [J].電子工業(yè)出版社 ,2020. [12] 王莉 ,陽春華 .基于 VC++的串口通信設(shè)計及其應(yīng)用 [J].控制工程 ,2020,11 (S1) :89292. [13] 楊國霞。雜志:促進科技, 2020 年,河北省科學(xué)院
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1