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

正文內(nèi)容

畢業(yè)論文基于c的rs232通信協(xié)議模擬終端(編輯修改稿)

2025-06-23 18:57 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 否好用。這就需要用到串口調(diào)試小助手。首先將一根USB轉(zhuǎn)RS232轉(zhuǎn)換線的3引腳短接,然后將帶有“驅(qū)動(dòng)程序”的光盤放入個(gè)人計(jì)算機(jī)中,安裝并運(yùn)行與自己計(jì)算機(jī)相匹配的驅(qū)動(dòng)程序,接著將轉(zhuǎn)換線的USB端插入個(gè)人計(jì)算機(jī)的USB口,即完成了初步的安裝。打開設(shè)備管理器,看一下所插入的轉(zhuǎn)換線占的是哪個(gè)串口,因?yàn)樵诮酉聛碚{(diào)試串口要用到。串口調(diào)試助手是一個(gè)專門用來調(diào)試串口程序的功能軟件,要想測(cè)試串口是否可用,應(yīng)先打開軟件,選擇串口號(hào),打開串口,在發(fā)送區(qū)輸入內(nèi)容,點(diǎn)擊發(fā)送按鈕,若在接收區(qū)中有所發(fā)送的內(nèi)容,則證明此串口可用。 本章小結(jié)本章從原理上介紹了串行通信的基本原理,詳細(xì)的闡述了RS232標(biāo)準(zhǔn)協(xié)議接口和與串行通信相關(guān)的一些知識(shí)。介紹了通信參數(shù)與串行通信的分類。為下文編寫Windows應(yīng)用程序?qū)崿F(xiàn)兩臺(tái)PC機(jī)進(jìn)行數(shù)據(jù)交換提供了基礎(chǔ)。 第3章 CRC校驗(yàn) CRC校驗(yàn)原理 CRC校驗(yàn)碼的基本原理在早期的通信中,由于通信技術(shù)不夠可靠(不可靠性的來源是通信技術(shù)決定的,比如電磁波通信時(shí)受雷電等因素的影響),這樣不可靠的通信就會(huì)帶來“確認(rèn)信息”的麻煩,造成一些事情的延誤等。為了避免這一弊端,在進(jìn)行數(shù)據(jù)交換,通信的過程中,對(duì)通信的可靠性檢查就需要校驗(yàn),校驗(yàn)是從數(shù)據(jù)本身進(jìn)行檢查,它依靠某種數(shù)學(xué)上約定的形式進(jìn)行檢查,校驗(yàn)的結(jié)果是可靠或不可靠,如果可靠就對(duì)數(shù)據(jù)進(jìn)行處理,如果不可靠,就丟棄重發(fā)或者進(jìn)行修復(fù)。如早期一樣目前在通信系統(tǒng)的數(shù)據(jù)傳輸過程中,由于信道中各種復(fù)雜因素的影響,使傳輸?shù)男盘?hào)受到干擾,造成傳輸過程中誤碼的出現(xiàn)。接收方為了檢查所接收的數(shù)據(jù)是否有誤碼,可采用多種檢測(cè)方法。差錯(cuò)控制編碼是目前數(shù)據(jù)傳輸過程中普遍采用的一種提高數(shù)據(jù)通信可靠性的方法,而CRC是一種在實(shí)際通信中應(yīng)用很廣泛的差錯(cuò)控制編碼,具有很強(qiáng)的檢錯(cuò)能力。CRC(Cyclic Redundancy Check)循環(huán)冗余校驗(yàn)碼是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。CRC循環(huán)冗余校驗(yàn)碼的基本原理是任意一個(gè)由二進(jìn)制位串組成的代碼都可以和一個(gè)系數(shù)僅為‘0’和‘1’取值的多項(xiàng)式一一對(duì)應(yīng)。例如:代碼101011對(duì)應(yīng)的多項(xiàng)式為,而多項(xiàng)式為對(duì)應(yīng)的代碼1100101。CRC校驗(yàn)碼是在K位信息碼后再拼接R位的校驗(yàn)碼,整個(gè)編碼長(zhǎng)度為N位,因此,這種編碼也叫(N,K)碼。CRC校驗(yàn)碼的生成借助于多項(xiàng)式除法,其余數(shù)為校驗(yàn)字段。其中發(fā)送方發(fā)出傳輸字段,傳輸字段由兩部分組成的,分別為信息字段和校驗(yàn)字段。接收方使用相同的生成碼進(jìn)行校驗(yàn),若接收到的字段或生成碼(二進(jìn)制除法)如果能夠除盡,則說明在通信過程中,數(shù)據(jù)交換期間未受到其他因素的干擾,消息收發(fā)成功。 CRC校驗(yàn)碼權(quán)的形式CRC校驗(yàn)碼有很多種權(quán)的行式,使用哪一種形式是根據(jù)通信雙方共同制定的“規(guī)則”而定的,其中各種常用權(quán)的形式如下所示: (31) (32) (33) (34) (35)以其中CRCCCITT形式為例。圖 31說明了 CRC 校驗(yàn)中 CRC 值是如何計(jì)算出來的,體現(xiàn)的多項(xiàng)式正是式(35)。從把數(shù)據(jù)移位開始計(jì)算,將數(shù)據(jù)位(從最低的數(shù)據(jù)位開始)逐位移入反向耦合移位寄存器。當(dāng)所有數(shù)據(jù)位都這樣操作后,計(jì)算結(jié)束。此時(shí),16 位移位寄存器中的內(nèi)容就是 CRC 碼。圖31中X 代表 Bit5,X 代表 Bit12,1 是代表 Bit0,比較特別,是指移位寄存器移入的數(shù)據(jù)。圖31 生成CRCCCITT的移位寄存器的作用原理 CRC校驗(yàn)的實(shí)現(xiàn)實(shí)現(xiàn)CRC校驗(yàn)有很多種算法和方式,最基本的算法應(yīng)該是按位計(jì)算了,這個(gè)方法可以適用于所有長(zhǎng)度的數(shù)據(jù)校驗(yàn),是最為靈活的,但由于是按位計(jì)算,其效率并不是最迅速、最優(yōu)的,只適用于對(duì)速度不敏感的場(chǎng)合。還有一種是按照字節(jié)計(jì)算CRC校驗(yàn)碼,按字節(jié)校驗(yàn)是每次計(jì)算8位數(shù)據(jù),多是基于查表的算法,首先要準(zhǔn)備一個(gè)表,一共256項(xiàng)。在使用的時(shí)候,把計(jì)算出來的校驗(yàn)值放在最后兩個(gè)字節(jié)里,將其發(fā)送出去,接收端對(duì)所有的數(shù)據(jù)進(jìn)行相同的校驗(yàn),如校驗(yàn)值為0我們則認(rèn)為其數(shù)據(jù)沒有出錯(cuò)。這個(gè)是按高位到低位的發(fā)送順序時(shí)使用的校驗(yàn)方法。本章介紹了通信中最常使用的校驗(yàn)方法,即CRC校驗(yàn)。分析了CRC校驗(yàn)原理、算法形式和算法的實(shí)現(xiàn)。并通過CRC校驗(yàn)實(shí)現(xiàn)通信中的檢錯(cuò)。 第4章 軟件的實(shí)現(xiàn)及其測(cè)試 開發(fā)工具概述 Windows編程與MFCWindows編程大致有兩種方法,一種是Windows C方向,即SDK方向,調(diào)用Win 32 API函數(shù),主要是利用C語(yǔ)言來實(shí)現(xiàn)軟件的功能與編程;另外一種方法是C++對(duì)SDK函數(shù)進(jìn)行包裝,如VC的MFC(微軟基礎(chǔ)類庫(kù)),BOB的OWL等。其中使用MFC直接編寫提供大量預(yù)先編好的類和支持代碼或使用MFC和向?qū)В╓izards)編寫,用AppWizard來生成Windows應(yīng)用程序框架。本次軟件程序設(shè)計(jì)功能的實(shí)現(xiàn)主要利用Windows編程中MFC(利用C++語(yǔ)言)。MFC提供了構(gòu)造Windows應(yīng)用程序的框架,它不僅為應(yīng)用程序建立標(biāo)準(zhǔn)的結(jié)構(gòu),還為其提供了標(biāo)準(zhǔn)的圖形用戶界面如菜單欄、工具欄、狀態(tài)欄等,開發(fā)人員只需要在此基礎(chǔ)上添加針對(duì)特定應(yīng)用的代碼即可。使用此應(yīng)用程序框架有很多優(yōu)點(diǎn),如其應(yīng)用程序代碼小,運(yùn)行速度快,并且此應(yīng)用程序提供的工具也降低了編碼的難度等。Windows應(yīng)用程序的框架主要有兩種類型,一種是基于對(duì)話框的應(yīng)用程序框架,另外一種是基于文檔、視圖結(jié)構(gòu)的應(yīng)用程序框架。平大家所見到的大多數(shù)Windows應(yīng)用程序均屬于這兩種框架。MFC的全稱是Microsoft Foundation Classes。是微軟把Windows API 進(jìn)行封裝的類庫(kù),該類庫(kù)以層次結(jié)構(gòu)組織起來,其中封裝了大部分Windows API函數(shù)和Windows控件。1989年微軟公司成立Application Framework技術(shù)團(tuán)隊(duì),名為AFX小組,用以開發(fā)C++面向?qū)ο蠊ぞ呓oWindows應(yīng)用程序開發(fā)人員使用。啟用MFC編碼可以使Windows程序員能夠利用C++面向?qū)ο蟮乃枷脒M(jìn)行編程,用好的類作為標(biāo)準(zhǔn),減少代碼的編寫量。 串行通信控件MSComm目前,以Win 32 下的MFC應(yīng)用程序?yàn)橹饕蚣埽赩C++的常用串行通信編程一般可以用兩種方法實(shí)現(xiàn):一種是使用Windows API通信函數(shù)。雖然在Windows下Win32API提供了使用文件操作方式的函數(shù)進(jìn)行串口操作的方法,但是在編程實(shí)現(xiàn)上還是比較復(fù)雜。其余一種是利用MSComm ActiveX 串行通信控件。Windows平臺(tái)先進(jìn)的ActiveX技術(shù)利用已有的MSComm ActiveX控件,只需要編寫少量的代碼,就可以輕松高效地完成任務(wù),使得對(duì)串口編程不再需要處理煩瑣的細(xì)節(jié)。這樣程序員就不需要花費(fèi)大量時(shí)間去了解復(fù)雜的API函數(shù),只需要利用MSComm控件就可實(shí)現(xiàn)串口編程。所以,本次實(shí)現(xiàn)兩臺(tái)PC間的通信使用的就是MSComm控件。 程序的主要功能實(shí)現(xiàn)兩臺(tái)PC機(jī)之間的通信的應(yīng)用程序,主要實(shí)現(xiàn)了密碼登陸、參設(shè)設(shè)置、參數(shù)顯示、打開串口、關(guān)閉串口、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收等功能。主要功能框圖如圖41所示。主函數(shù)密碼登錄參數(shù)設(shè)置打開串口關(guān)閉串口接收數(shù)據(jù)發(fā)送數(shù)據(jù)圖41 主要功能框圖應(yīng)用程序主要實(shí)現(xiàn)的功能如圖41所示的主要功能框圖,此應(yīng)用程序的總體程序流程圖如圖42所示。開始調(diào)用初始化程序登錄界面N登錄驗(yàn)證是否正確Y主界面N串口號(hào)是否可用Y設(shè)置串口打開串口N通信參數(shù)是否符合Y設(shè)置參數(shù)輸入數(shù)據(jù)并發(fā)送數(shù)據(jù)發(fā)送完成NY關(guān)閉串口結(jié)束圖42 程序流程框圖使用此應(yīng)用程序時(shí),需要有正確的用戶名和密碼才能登錄到此軟件的主界面,登錄到主界面后,要想實(shí)現(xiàn)兩臺(tái)PC間的通信則需要選擇可用的串口號(hào)并且傳輸參數(shù)要一致,其中包括波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等,只有設(shè)置對(duì)的參數(shù)才能實(shí)現(xiàn)數(shù)據(jù)交換的功能。在發(fā)送接收數(shù)據(jù)過程中需要打開串口。通信結(jié)束后,關(guān)閉打開的串口。能夠發(fā)送單個(gè)或多個(gè)數(shù)據(jù)。能夠接收和顯示多個(gè)數(shù)據(jù)。程序流程圖如圖32所示。 程序運(yùn)行平臺(tái)在程序設(shè)計(jì)時(shí),原計(jì)劃使用VS2008軟件,但是由于電腦、操作系統(tǒng)等各種原因,就改用VC++ 。 建立工程要實(shí)現(xiàn)通信,首先應(yīng)先建立工程,即新建基于Win32的MFC應(yīng)用程序。首先打開VC++,建立基于對(duì)話框的MFC應(yīng)用程序。并將這個(gè)應(yīng)用程序命名為通信。然后在將基于對(duì)話框選中(如圖43),直接下一步即可,最后直到完成。圖43 建立基于對(duì)話框應(yīng)用程序過程圖按照如上所示的方法步驟,建立Win32下的MFC應(yīng)用程序工程,應(yīng)用程序工程名為“通信”,最后點(diǎn)擊完成按鈕,就會(huì)出現(xiàn)MFC應(yīng)用程序初始界面如圖44所示。圖44 應(yīng)用程序最初界面 界面功能實(shí)現(xiàn)登錄界面的設(shè)計(jì)除了應(yīng)用MFC中的控件和工具外,要想實(shí)現(xiàn)其用戶名和密碼的驗(yàn)證功能還利用了數(shù)據(jù)庫(kù)的知識(shí)。本次登陸界面使用的數(shù)據(jù)庫(kù)是微軟的Access數(shù)據(jù)庫(kù)。Access數(shù)據(jù)庫(kù)是一個(gè)小型的數(shù)據(jù)庫(kù),使用起來非常的靈活、方便 。對(duì)Access數(shù)據(jù)庫(kù)的連接與操作有很多種方法,例如在ASP中建立對(duì)Access數(shù)據(jù)庫(kù)的連接、使用Recordset對(duì)象操作Access數(shù)據(jù)庫(kù)、使用SQL指令操作數(shù)據(jù)庫(kù)、使用DSN連接Access數(shù)據(jù)庫(kù)等。其中使用DNS連接Access數(shù)據(jù)庫(kù)方法中,在定義DSN的時(shí)候,就已經(jīng)指定好了數(shù)據(jù)源需要的ODBC驅(qū)動(dòng)程序,也指定好了數(shù)據(jù)庫(kù)文件的實(shí)際路徑和名字,我們?cè)诔绦蛑?,只需要引用預(yù)先定義的數(shù)據(jù)源名DSN即可。首先,啟動(dòng)Microsoft Office
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1