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

正文內(nèi)容

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

2025-04-03 09:03 本頁面
 

【文章內(nèi)容簡介】 串行接口電路的接收波特率和發(fā)送的波特率可以設(shè)置,要求接收 方的接收波特率必須與發(fā)送方的發(fā)送波特率是一致的。在串行通信中,通信線上所傳輸?shù)淖址麛?shù)據(jù)(代碼)是逐位傳送的,一個(gè)字符由若干位組成,所以每秒鐘所傳輸?shù)牟ㄌ芈屎妥址?數(shù)(字符速率)是完全不同的。有時(shí)也用 “位周期 ”來表示傳輸速率,位 周期是波特率的倒數(shù)。 (2)數(shù)據(jù)位 數(shù)據(jù)位 是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是 8 位的,標(biāo)準(zhǔn)的值是 7 和 8 位。如何設(shè)置取決于傳送的信息。數(shù)據(jù)位通常為 58 位,它緊跟在起始位之后,是被傳送字符的有效數(shù)據(jù)位。傳送時(shí)先傳送字符的低位,后傳送字符的高位。 數(shù)據(jù)位的 位數(shù)可以有硬件或軟件設(shè)備進(jìn)行設(shè)置,以滿足設(shè)備間數(shù)據(jù)交換的需要。 (3)停止位 7 停止位一般為 和 2 位,用于表示單個(gè)包的最后一位。停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì),因?yàn)閿?shù)據(jù)是在傳輸線上定時(shí)的,并且每個(gè)設(shè)備都有其自己的時(shí)鐘,很可能在通信中要進(jìn)行數(shù)據(jù)交換的兩臺(tái)設(shè)備間出現(xiàn)小小的不同步,設(shè)置停止位就是為了避免其中的小小的不同步。停止位的位數(shù)的設(shè)置可以由設(shè)備的軟件設(shè)置,停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率相應(yīng)地也會(huì)越慢。 (4)奇偶校驗(yàn)位 在串行通信中奇偶校驗(yàn) 是一種簡單的檢錯(cuò)方式,奇偶校驗(yàn)位僅占一位,用于進(jìn)行奇校驗(yàn)和偶校驗(yàn),同時(shí)也可以無校驗(yàn)位。對(duì)于奇校驗(yàn)和偶校驗(yàn),串口會(huì)設(shè)置校驗(yàn)位,是數(shù)據(jù)位后面的一位,用一個(gè)值保證傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是 001,那么對(duì)于奇校驗(yàn),校驗(yàn)位是 0,。如果是偶校驗(yàn),校驗(yàn)位是 1。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者傳輸和接收數(shù)據(jù)是否發(fā)生了不同步。 串行通信的分類 串行通信 又 可以分為同步串行通信和異步串行通信兩類。 同步通信是一種在發(fā)送端發(fā)送一個(gè)抑制載波的雙邊帶信號(hào),而在 接收端恢復(fù)載波,再進(jìn)行檢波的通信方式。是按照軟件識(shí)別同步字符來實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收。它是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息。信息中含有若干個(gè)數(shù)據(jù)字符。 它們均由數(shù)據(jù)字符、 CRC 即同步字符和校驗(yàn)字符組成。因?yàn)榛謴?fù)的載波與被接收的信號(hào)載波同頻同相,故取名為同步通信,也稱抑制載波雙邊帶通信。 異步通信數(shù)據(jù)通常以字符或者字節(jié)為單位組成字符幀傳送,字符幀由發(fā)送端逐幀發(fā)送,通過傳輸線被接收設(shè)備逐幀接收。異步通信 通常 有兩個(gè)非常重要的指標(biāo):即 字符幀格式和 波特率。發(fā)送端和接收端可以由各自的時(shí)鐘 源 來控制數(shù)據(jù) 的發(fā)送和接收,這兩個(gè)時(shí)鐘源彼此獨(dú)立,互不同步, 接收端檢測到傳輸線上發(fā)送過來的低電平邏輯 0(即字符幀起始位)時(shí),確定發(fā)送端已開始發(fā)送數(shù)據(jù),每當(dāng)接收端收到字符幀中的停止位時(shí),就知道一幀字符已經(jīng)發(fā)送完畢 ]2[ 。異步通信有自己的 的缺點(diǎn), 其缺點(diǎn)是 它在通信時(shí)的傳輸效率較低。 當(dāng)然它也具有自己獨(dú)特的優(yōu)點(diǎn), 其優(yōu) 點(diǎn)就是它的通信設(shè)備簡單、便宜。 8 串口的調(diào)制 串口連接 現(xiàn)在大多數(shù)計(jì)算機(jī)外用接口都是 USB 口, 外用接口很少有串口的, 并且現(xiàn)在的個(gè)人計(jì)算機(jī)的串口大多都是 簡型的 9 針串口。所以要想通過 串行通信實(shí)現(xiàn)與外圍設(shè)備數(shù)據(jù)交換,必須用 USB 轉(zhuǎn) RS232 9 針串口轉(zhuǎn)換線。 9 芯管腳圖如圖 23 所示。 圖 23 9 芯管腳圖 表 21 9 針管腳各引腳名稱功能圖 九針串口 針號(hào) 縮寫 功能說明 信號(hào)來源 1 DCD 功能說明 調(diào)制解調(diào)器 2 RXD 接收數(shù)據(jù) 調(diào)制解調(diào)器 3 TXD 發(fā)送數(shù)據(jù) PC 4 DTR 數(shù)據(jù)終端準(zhǔn)備 PC 5 GND 信號(hào)地 6 DSR 數(shù)據(jù)設(shè)備準(zhǔn)備好 調(diào)制解調(diào)器 7 RTS 請(qǐng)求發(fā)送 PC 8 CTS 請(qǐng)求發(fā) 送 調(diào)制解調(diào)器 9 DELL 振鈴指示 調(diào)制解調(diào)器 9 目前,市場上使用的串口有 9 針管腳的還有 25 針管腳的。在 RS232 的通訊標(biāo)準(zhǔn)中是以一個(gè) 25 針的接口來定義的,并且在早期的計(jì)算機(jī)中,如 PC 機(jī)或XT 機(jī)型上得到了廣泛地使用,但是在 AT 機(jī)以后的機(jī)型上,實(shí)際上均采用了 9針管腳的簡化版本應(yīng)用,現(xiàn)在所說的 RS232 通訊均默認(rèn)為 9 針的接口。圖 23顯示了 9 針通訊的接口管腳, 9 針管腳的串口各引腳名稱、功能和信號(hào)來源各不相同。表 21 說明九針管腳的串口各引腳的名稱,功能說明和信號(hào)源等。 由表 21 可知要想實(shí)現(xiàn)兩臺(tái) 個(gè)人計(jì)算機(jī)間的數(shù)據(jù)交換,可以將兩個(gè) USB 轉(zhuǎn)RS232 線的接口頭的 3 引腳交叉對(duì)接,兩個(gè) 5 腳相接即可,具體接法如 圖24 所示,然后再講兩個(gè) USB 接頭與兩臺(tái)電腦相連。 圖 24 USB 轉(zhuǎn) RS232 線的連接圖 串口調(diào)試 實(shí)現(xiàn)個(gè)人計(jì)算機(jī)與外圍設(shè)備間的串行通信必須將個(gè)人計(jì)算機(jī)上的串口調(diào)通,驗(yàn)證一下個(gè)人計(jì)算機(jī)上的串口是否好用。這就需要用到串口調(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)試串口程序的功能軟件,要想測試串口是否可用,應(yīng)先打開軟件,選擇串口號(hào),打開串口,在發(fā) 送區(qū)輸入內(nèi)容,點(diǎn)擊發(fā)送按鈕,若在接收區(qū)中有所發(fā)送的內(nèi)容,則證明此 串口可用。 10 本章小結(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ǔ)。 11 第 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ù) ]25[ 。 如早期一樣目前在通信系統(tǒng)的數(shù)據(jù)傳輸過程中,由于信道中各種復(fù)雜因素的影響,使傳輸?shù)男盘?hào)受到干擾,造成傳輸過程中誤碼的出現(xiàn)。接收方為了檢查所接收的數(shù)據(jù)是否有誤碼,可采用多種檢測方法。差錯(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)字段的長度可以任意選定。 CRC循環(huán)冗余校驗(yàn)碼的基本原理是任意一個(gè)由二進(jìn)制位串組成的代碼都可以和一個(gè)系數(shù)僅為 ?0?和 ?1?取值的多項(xiàng)式一一對(duì)應(yīng)。例如:代碼 101011 對(duì)應(yīng)的多項(xiàng)式為135 ??? XXX ,而多項(xiàng)式為 1256 ??? XXX 對(duì)應(yīng)的代碼 1100101。 CRC 校驗(yàn)碼是 在 K 位信息碼后 再拼接 R 位的校驗(yàn)碼,整個(gè)編碼長度為 N 位,因此,這種編碼也叫( N, K)碼。 CRC 校驗(yàn)碼的生成借助于多項(xiàng)式除法,其余數(shù)為校驗(yàn)字段。其中發(fā)送方發(fā)出傳輸字段,傳 輸字段由兩部分組成的,分別為信息字段和校驗(yàn)字段。接收方使用相同的生成碼進(jìn)行校驗(yàn),若接收到的字段或生成碼(二進(jìn)制除法)如果能夠除盡,則說明在通信過程中,數(shù)據(jù)交換期間未受到其他因素的干擾,消息收發(fā)成功。 12 CRC 校驗(yàn)碼權(quán)的形式 CRC 校驗(yàn)碼有很多 種權(quán)的 行式, 使用哪一種形式是根據(jù)通信雙方共同制定的 “規(guī)則 ”而定的,其中各種常用 權(quán) 的形式 如下所示: 18 458 ???? XXXC R C ( 31) 151216 ????? XXXC C IT TC R C ( 32) 116 51516 ???? XXXC R C ( 33) 112 231112 ????? XXXXC R C ( 34) ????????? 101112162223263232 XXXXXXXXC R C 124578 ?????? XXXXXX ( 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 中X5 代表 Bit5, X12 代表 Bit12, 1 是代表 Bit0, 16X 比較特別,是指移位寄存器移入的數(shù)據(jù)。 圖 31 生成 CRCCCITT 的移位寄存器的作用原理 13 CRC 校驗(yàn)的實(shí)現(xiàn) 實(shí)現(xiàn) CRC 校驗(yàn)有很多種算法和方式,最基本的算法應(yīng)該是按位計(jì)算了 ,這個(gè)方法可以適用于所有長度的數(shù)據(jù)校驗(yàn),是最為靈活 的,但由于是按位計(jì)算,其效率并不是最迅速、最優(yōu)的,只適用于對(duì)速度不敏感的場合。還有一種是按照字節(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)方法。 本章小結(jié) 本章介紹了通信中最常使用的校驗(yàn)方法,即 CRC 校驗(yàn)。分析了 CRC 校驗(yàn)原理、算法形式和算法的實(shí)現(xiàn)。并通過 CRC 校驗(yàn)實(shí)現(xiàn)通信中的檢錯(cuò)。 14 第 4 章 軟件的實(shí)現(xiàn)及其測試 開發(fā)工具概述 Windows 編程與 MFC Windows 編程大致 有兩種方法,一種是 Windows C 方向,即 SDK 方向,調(diào)用 Win 32 API 函數(shù),主要是利用 C 語言來實(shí)現(xiàn)軟件的功能與編程;另外一種方法是 C++對(duì) SDK 函數(shù)進(jìn)行包裝,如 VC 的 MFC(微軟基礎(chǔ)類庫), BOB 的 OWL等。其中使用 MFC 直接編寫提供大量預(yù)先編好的類和支持代碼或使用 MFC 和向?qū)В?Wizards)編寫,用 AppWizard 來生成 Windows 應(yīng)用程序框架。 本次軟件程序設(shè)計(jì)功能的實(shí)現(xiàn)主要利用 Windows 編程中 MFC(利用 C++語言)。 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)行封裝的類庫,該類庫以層次結(jié)構(gòu)組織起來,其中封裝了大部分 Windows API函數(shù)和Windows控件 ]9[ 。 1989年微軟公司成立 Application Framework技術(shù)團(tuán)隊(duì),名為 AFX小組,用以開發(fā) C++面向?qū)ο蠊ぞ呓o Windows應(yīng)用程序開發(fā)人員使用。啟用 MFC編碼可以使 Windows程序員能夠利用 C++面向?qū)ο蟮乃枷脒M(jìn)行編程,用好的類作為標(biāo)準(zhǔn),減少代碼的編寫量。 串行通信控件 MSComm 目前,以 Win 32 下的 MFC 應(yīng)用程序?yàn)橹饕蚣?,基?VC++的常用串行通信編程一般可以用兩種方法實(shí)現(xiàn):一種是使用 Windows API 通信函數(shù)。雖然 15 在 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ù),只需要利用 MS
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1