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

正文內(nèi)容

畢業(yè)論文基于c的rs232通信協(xié)議模擬終端(留存版)

2025-07-11 18:57上一頁面

下一頁面
  

【正文】 本章小結(jié)本章從原理上介紹了串行通信的基本原理,詳細的闡述了RS232標準協(xié)議接口和與串行通信相關(guān)的一些知識。圖 31說明了 CRC 校驗中 CRC 值是如何計算出來的,體現(xiàn)的多項式正是式(35)。使用此應用程序框架有很多優(yōu)點,如其應用程序代碼小,運行速度快,并且此應用程序提供的工具也降低了編碼的難度等。開始調(diào)用初始化程序登錄界面N登錄驗證是否正確Y主界面N串口號是否可用Y設置串口打開串口N通信參數(shù)是否符合Y設置參數(shù)輸入數(shù)據(jù)并發(fā)送數(shù)據(jù)發(fā)送完成NY關(guān)閉串口結(jié)束圖42 程序流程框圖使用此應用程序時,需要有正確的用戶名和密碼才能登錄到此軟件的主界面,登錄到主界面后,要想實現(xiàn)兩臺PC間的通信則需要選擇可用的串口號并且傳輸參數(shù)要一致,其中包括波特率、數(shù)據(jù)位、停止位、奇偶校驗位等,只有設置對的參數(shù)才能實現(xiàn)數(shù)據(jù)交換的功能。其中使用DNS連接Access數(shù)據(jù)庫方法中,在定義DSN的時候,就已經(jīng)指定好了數(shù)據(jù)源需要的ODBC驅(qū)動程序,也指定好了數(shù)據(jù)庫文件的實際路徑和名字,我們在程序中,只需要引用預先定義的數(shù)據(jù)源名DSN即可。實現(xiàn)該功能的程序流程圖如圖49所示,實現(xiàn)該功能的程序代碼如下:開始N是否登錄Y輸入獲取信息N點擊退出按鈕密碼用戶名是否一致Y登錄成功,轉(zhuǎn)到主界面結(jié)束圖49 用戶名密碼登錄模塊流程圖void CMylogin::OnBnClickedOk(){ // TODO: Add your control notification handler code here OnOK()。 } } catch(CDBException* e) { eReportError()。 CMyDlg md1。MSComm通信控件提供了一系列標準通信命令的接口,它允許建立串口連接,可以連接到其他通信設備(如Modem).還可以發(fā)送命令、進行數(shù)據(jù)交換以及監(jiān)視和響應在通信過程中可能發(fā)生的各種錯誤和事件,從而可以用它創(chuàng)建全雙工 、事件驅(qū)動的、高效實用的通信程序。k++) //將數(shù)組轉(zhuǎn)換為CString型變量 { char bt=*(char*)(rxdata+k)。 case 1:conf = 4800,。break。 //設置波特率等參數(shù) if(!()) //打開串口 (TRUE)。主要功能有用戶名密碼驗證登錄、設置串口號、打開串口、關(guān)閉串口、設置通信參數(shù)等。采用消息方式處理串口與主程序間的通訊[N]。Visual總之,RS232標準一直都應用于通信領(lǐng)域中,串行通信以其成本低、結(jié)構(gòu)簡單等優(yōu)點被人們廣泛應用。圖418 發(fā)送接收數(shù)據(jù)發(fā)送數(shù)據(jù)結(jié)束后,關(guān)閉串口,點擊【退出】按鈕,程序提示“謝謝使用!再見”。break。break。 if(()==IDOK) // 配置對話框是“確定”按鈕按下,需要重新配置端口 { (FALSE)。k++) (amp。 //設置當前緩沖區(qū)長度()。 //設置輸出緩沖區(qū) (9600,n,8,1)。 return。相應的通信參數(shù)設置完成后,點擊【確定】按鈕,應用程序則會再次跳轉(zhuǎn)到主界面(數(shù)據(jù)收發(fā)界面),若想取消設置則點擊取消按鈕,參數(shù)設置界面關(guān)閉,回到主界面。圖44 應用程序最初界面 界面功能實現(xiàn)登錄界面的設計除了應用MFC中的控件和工具外,要想實現(xiàn)其用戶名和密碼的驗證功能還利用了數(shù)據(jù)庫的知識。所以,本次實現(xiàn)兩臺PC間的通信使用的就是MSComm控件。 第4章 軟件的實現(xiàn)及其測試 開發(fā)工具概述 Windows編程與MFCWindows編程大致有兩種方法,一種是Windows C方向,即SDK方向,調(diào)用Win 32 API函數(shù),主要是利用C語言來實現(xiàn)軟件的功能與編程;另外一種方法是C++對SDK函數(shù)進行包裝,如VC的MFC(微軟基礎(chǔ)類庫),BOB的OWL等。CRC校驗碼的生成借助于多項式除法,其余數(shù)為校驗字段。這就需要用到串口調(diào)試小助手。 它們均由數(shù)據(jù)字符、CRC即同步字符和校驗字符組成。數(shù)據(jù)位通常為58位,它緊跟在起始位之后,是被傳送字符的有效數(shù)據(jù)位。兩種基本通信方式如圖22所示:嗎計算機或外設2計算機計算機或外設2計算機11GNDGNDGNDGND 并行通信 串行通信圖22 兩種基本的通信方式從上面的圖中可以看到,并行通信成本高,并須使用多條通信線,而串行通信只需使用兩條通信線就可以完成兩個設備間的數(shù)據(jù)交換,大大降低了通信成本,串行通信又以其串行線間的干擾小得到了廣泛的應用。這個標準對串行通信接口的有關(guān)問題都作了明確規(guī)定。RS232標準主要適用于通信設備,它主要采取不平衡傳輸方法,即所謂的單端通信。隨著通信技術(shù)的不斷創(chuàng)新和發(fā)展以及計算機網(wǎng)絡和多微機系統(tǒng)的廣泛應用,USB通信技術(shù)的發(fā)展如此迅速,盡管如此,然而串口通信技術(shù)以其實現(xiàn)簡單、使用靈活方便、數(shù)據(jù)傳輸可靠等優(yōu)點并未面臨被淘汰,反而在通信領(lǐng)域中一直都被人們廣泛的應用。圍繞串行通信技術(shù),本文主要介紹了串行通信接口——RS232標準串口,闡述了RS232串行通信基本原理和CRC校驗,通過VC界面編程實現(xiàn)串行通信。串行通信以其成本低、結(jié)構(gòu)簡單等優(yōu)點被人們廣泛應用。由于串行通信方式具有使用線路少、成本低、特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。分析RS232串行通信的基本原理,并通過串口調(diào)試助手調(diào)通串口以方便接下來的操作。在RS232的通訊標準中是以一個25針的接口來定義的,25針的接口在早期的計算機如PC或XT機型上廣泛使用,但在AT機以后的機型上,實際均采用了9針的簡化版接口應用,現(xiàn)在所說的RS232通訊均默認為9針的接口。例如:9600bps,是指每秒傳送數(shù)據(jù)9600位,其中包含字符的數(shù)位和其它必須的數(shù)位。如果是偶校驗,校驗位是1。9芯管腳圖如圖 23 所示。如早期一樣目前在通信系統(tǒng)的數(shù)據(jù)傳輸過程中,由于信道中各種復雜因素的影響,使傳輸?shù)男盘柺艿礁蓴_,造成傳輸過程中誤碼的出現(xiàn)。圖31 生成CRCCCITT的移位寄存器的作用原理 CRC校驗的實現(xiàn)實現(xiàn)CRC校驗有很多種算法和方式,最基本的算法應該是按位計算了,這個方法可以適用于所有長度的數(shù)據(jù)校驗,是最為靈活的,但由于是按位計算,其效率并不是最迅速、最優(yōu)的,只適用于對速度不敏感的場合。1989年微軟公司成立Application Framework技術(shù)團隊,名為AFX小組,用以開發(fā)C++面向?qū)ο蠊ぞ呓oWindows應用程序開發(fā)人員使用。程序流程圖如圖32所示。圖45 數(shù)據(jù)庫中用戶名和弱密碼運行應用程序時,若輸入了錯誤的用戶名或密碼,則系統(tǒng)會提示輸入錯誤。%s39。 …… // TODO: Add extra initialization hereCMylogin my。 //接收緩沖區(qū) (1024)。 byte rxdata[512]。 UpdateData(FALSE)。 } switch(m_jiaoyan) // 設置校驗方法 { case 0:conf = conf + n,。 default:conf = conf+8,。 //發(fā)送后清空輸入框 UpdateData(false)。應用程序?qū)崿F(xiàn)了選擇串口、打開串口、關(guān)閉串口、發(fā)送接收數(shù)據(jù)等功能,同時又可通過應用程序設置通信參數(shù)(包括波特率、數(shù)據(jù)位、停止位和奇偶校驗位等)。2006.[17] OriNathan所以通信過程中要對接收到的數(shù)據(jù)進行校驗。圖415 用戶名密碼不一致輸入正確用戶名和密碼,程序提示“登錄成功!歡迎使用!”如圖416 所示。 } switch(m_stopbit) // 設置停止位 { case 0:conf = conf + 1。 case 1:conf = conf + o,。參數(shù)設置模塊流程圖如圖 413 所示,實現(xiàn)應用程序具體功能的代碼如下:開始確定鍵是否按下Y設置通信參數(shù)N打開串口結(jié)束圖413 通信參數(shù)設置流程圖void CMyDlg::OnSet() { // TODO: Add your control notification handler code here CSetcs sc。 if(()==2) //值為表示接收緩沖區(qū)內(nèi)有字符 { variant_inp=()。//設置當前接收區(qū)數(shù)據(jù)長度為,表示全部讀取 (1)。//顯示登錄界面if(()) //如果發(fā)現(xiàn)串口本來是打開的,則關(guān)閉串口 (FALSE)。%s39。登陸界面如圖 46 所示。 建立工程要實現(xiàn)通信,首先應先建立工程,即新建基于Win32的MFC應用程序。 串行通信控件MSComm目前,以Win 32 下的MFC應用程序為主要框架,基于VC++的常用串行通信編程一般可以用兩種方法實現(xiàn):一種是使用Windows API通信函數(shù)。在使用的時候,把計算出來的校驗值放在最后兩個字節(jié)里,將其發(fā)送出去,接收端對所有的數(shù)據(jù)進行相同的校驗,如校驗值為0我們則認為其數(shù)據(jù)沒有出錯。差錯控制編碼是目前數(shù)據(jù)傳輸過程中普遍采用的一種提高數(shù)據(jù)通信可靠性的方法,而CRC是一種在實際通信中應用很廣泛的差錯控制
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1