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

正文內(nèi)容

畢業(yè)論文基于c的rs232通信協(xié)議模擬終端-文庫(kù)吧資料

2024-09-05 10:50本頁(yè)面
  

【正文】 連接 Access 數(shù)據(jù)庫(kù)方法中,在定義 DSN 的時(shí)候,就已經(jīng)指定好了數(shù)據(jù)源需要的 ODBC 驅(qū)動(dòng)程序,也指定好了數(shù)據(jù)庫(kù)文件的實(shí)際路徑和名字,我們?cè)诔绦蛑?,只需要引用預(yù)先定義的數(shù)據(jù)源名 DSN 即可。 Access 數(shù)據(jù)庫(kù)是一個(gè)小型的數(shù)據(jù)庫(kù),使用起來(lái)非常的靈活、方便 。 圖 44 應(yīng)用程序最初界面 界面功能實(shí)現(xiàn) 界面 登錄 界面的設(shè)計(jì)除了應(yīng)用 MFC 中的控件和工具外,要想實(shí)現(xiàn)其用戶名和密碼的驗(yàn)證功能還利用了數(shù)據(jù)庫(kù)的知識(shí)。然后在將基于對(duì)話框選中 (如圖 43) ,直接下一步即可,最后直到完成。首先打開 VC++ 軟件,建立基于對(duì)話框的 MFC 應(yīng)用程序。 程序運(yùn)行平臺(tái) 在程序設(shè)計(jì)時(shí),原計(jì)劃使用 VS2020 軟 件,但是由于電腦、操作系統(tǒng)等各種原因,就改用 VC++ 這個(gè)軟件。 能夠接收和顯示多個(gè)數(shù)據(jù)。通信結(jié)束后,關(guān)閉打開的串口。 主函數(shù) 密碼登錄 參數(shù)設(shè)置 打開串口 關(guān)閉串口 接收數(shù)據(jù) 發(fā)送數(shù)據(jù) 16 圖 42 程序流程框圖 開始 調(diào)用初始化程序 登錄驗(yàn)證是否正確 主界面 串口號(hào)是否可用 打開串口 通信參數(shù)是否符合 輸入數(shù)據(jù)并發(fā)送 登錄界面 N Y 設(shè)置串口 N Y 數(shù)據(jù)發(fā)送完成 關(guān)閉串口 結(jié)束 設(shè)置參數(shù) N Y N Y 17 使用此應(yīng)用程序時(shí),需要有 正確的 用戶名和密碼才能登錄到此軟件的主界面, 登錄到主界面后,要想 實(shí)現(xiàn)兩臺(tái) PC 間的通信則 需要 選擇 可用的串口號(hào)并且傳輸參數(shù)要一致,其中包括 波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等,只有設(shè)置對(duì)的參數(shù)才能實(shí)現(xiàn)數(shù)據(jù)交換的功能。主要功能框圖如圖 41 所示。所以,本次 實(shí)現(xiàn)兩臺(tái) PC 間的通信使用的就是 MSComm控件。 Windows 平臺(tái)先進(jìn)的 ActiveX 技術(shù)利用已有 的 MSComm ActiveX 控件,只需要編寫少量的代碼,就可以輕松高效地完成任務(wù), 使得對(duì)串口編程不再需要處理煩瑣的細(xì)節(jié)。雖然 15 在 Windows 下 Win32API提供了使用文件操作方式的函數(shù)進(jìn)行串口操作的方法,但是在編程實(shí)現(xiàn)上還是比較復(fù)雜 。啟用 MFC編碼可以使 Windows程序員能夠利用 C++面向?qū)ο蟮乃枷脒M(jìn)行編程,用好的類作為標(biāo)準(zhǔn),減少代碼的編寫量。是微軟把 Windows API 進(jìn)行封裝的類庫(kù),該類庫(kù)以層次結(jié)構(gòu)組織起 來(lái),其中封裝了大部分 Windows API函數(shù)和Windows控件 ]9[ 。平大家所見到的大多數(shù)Windows應(yīng)用程序均屬于這兩種框架。使用此應(yīng)用程序框架有很多優(yōu)點(diǎn),如其應(yīng)用程序代碼小,運(yùn)行速度快,并且此應(yīng)用程序提供的工具也降低了編碼的難度等。 本次軟件程序設(shè)計(jì)功能的實(shí)現(xiàn)主要利用 Windows 編程中 MFC(利用 C++語(yǔ)言)。 14 第 4章 軟件的實(shí)現(xiàn)及其測(cè)試 開發(fā)工具概述 Windows 編程與 MFC Windows 編程大致 有兩種方法,一種是 Windows C 方向,即 SDK 方向,調(diào)用 Win 32 API 函數(shù),主要是利用 C 語(yǔ)言來(lái)實(shí)現(xiàn)軟件的功能與編程;另外一種方法是 C++對(duì) SDK 函數(shù)進(jìn)行包裝,如 VC 的 MFC(微軟基礎(chǔ)類庫(kù)), BOB 的 OWL等。分析了 CRC 校驗(yàn)原理、算法形式和算法的實(shí)現(xiàn)。這個(gè)是按高位到低位的發(fā)送順序時(shí)使用的校驗(yàn)方法。還有一種是按照字節(jié)計(jì)算 CRC 校驗(yàn)碼,按字節(jié)校驗(yàn)是每次計(jì)算 8 位數(shù)據(jù),多是基于查表的算法,首先要準(zhǔn)備一 個(gè)表,一共 256 項(xiàng)。圖 31 中X5 代表 Bit5, X12 代表 Bit12, 1 是代表 Bit0, 16X 比較特別,是指移位寄存器移入的數(shù)據(jù)。當(dāng)所有數(shù)據(jù)位都這樣操作后,計(jì)算結(jié)束。 圖 31 說(shuō)明了 CRC 校 驗(yàn)中 CRC 值是如何計(jì)算出來(lái)的,體現(xiàn)的多項(xiàng)式正是 式( 35) 。接收方使用相同的生成碼進(jìn)行校驗(yàn),若接收到的字段或生成碼(二進(jìn)制除法)如果能夠除盡,則說(shuō)明在通信過(guò)程中,數(shù)據(jù)交換期間未受到其他因素的干擾,消息收發(fā)成功。 CRC 校驗(yàn)碼的生成借助于多項(xiàng)式除法,其余數(shù)為校驗(yàn)字段。例如:代碼 101011 對(duì)應(yīng)的多項(xiàng)式為135 ??? XXX ,而多項(xiàng)式為 1256 ??? XXX 對(duì)應(yīng)的代碼 1100101。 CRC( Cyclic Redundancy Check)循環(huán)冗余校驗(yàn)碼是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼, 其特征是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。接收方為了檢查所接收的數(shù)據(jù)是否有誤碼,可采用多種檢測(cè)方法。為了避免這一弊端,在進(jìn)行數(shù)據(jù)交換,通信的過(guò)程中,對(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[ 。 為下文編寫 Windows 應(yīng)用程序?qū)崿F(xiàn)兩臺(tái) PC 機(jī)進(jìn)行數(shù)據(jù)交換提供了基礎(chǔ)。 10 本章小結(jié) 本章從原理上介紹了串行通信 的基本原理,詳細(xì)的闡 述了 RS232 標(biāo)準(zhǔn)協(xié)議接口和與串行通信相關(guān)的一些知識(shí)。打開設(shè)備管理器,看一下所插入的轉(zhuǎn)換線占的是哪個(gè)串口,因?yàn)樵诮酉聛?lái)調(diào)試串口要用到。這就需要用到串口調(dià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)電腦相連。圖 23顯示了 9 針通訊的接口管腳, 9 針管腳的串口各引腳名稱、功能和信號(hào)來(lái)源各不相同。 圖 23 9 芯管腳圖 表 21 9 針管腳各引腳名稱功能圖 九針串口 針號(hào) 縮寫 功能說(shuō)明 信號(hào)來(lái)源 1 DCD 功能說(shuō)明 調(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 目前,市場(chǎng)上使用的串口有 9 針管腳的還有 25 針管腳的。所以要想通過(guò) 串行通信實(shí)現(xiàn)與外圍設(shè)備數(shù)據(jù)交換,必須用 USB 轉(zhuǎn) RS232 9 針串口轉(zhuǎn)換線。 當(dāng)然它也具有自己獨(dú)特的優(yōu)點(diǎn), 其優(yōu) 點(diǎn)就是它的通信設(shè)備簡(jiǎn)單、便宜。發(fā)送端和接收端可以由各自的時(shí)鐘 源 來(lái)控制數(shù)據(jù) 的發(fā)送和接收,這兩個(gè)時(shí)鐘源彼此獨(dú)立,互不同步, 接收端檢測(cè)到傳輸線上發(fā)送過(guò)來(lái)的低電平邏輯 0(即字符幀起始位)時(shí),確定發(fā)送端已開始發(fā)送數(shù)據(jù),每當(dāng)接收端收到字符幀中的停止位時(shí),就知道一幀字符已經(jīng)發(fā)送完畢 ]2[ 。 異步通信數(shù)據(jù)通常以字符或者字節(jié)為單位組成字符幀傳送,字符幀由發(fā)送端逐幀發(fā)送,通過(guò)傳輸線被接收設(shè)備逐幀接收。 它們均由數(shù)據(jù)字符、 CRC 即同步字符和校驗(yàn)字符組成。它是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息。 同步通信是一種在發(fā)送端發(fā)送一個(gè)抑制載波的雙邊帶信號(hào),而在 接收端恢復(fù)載波,再進(jìn)行檢波的通信方式。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者傳輸和接收數(shù)據(jù)是否發(fā)生了不同步。例如,如果數(shù)據(jù)是 001,那么對(duì)于奇校驗(yàn),校驗(yàn)位是 0,。 (4)奇偶校驗(yàn)位 在串行通信中奇偶校驗(yàn) 是一種簡(jiǎn)單的檢錯(cuò)方式,奇偶校驗(yàn)位僅占一位,用于進(jìn)行奇校驗(yàn)和偶校驗(yàn),同時(shí)也可以無(wú)校驗(yàn)位。停止位不僅僅是表示傳輸?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ù)據(jù)位的 位數(shù)可以有硬件或軟件設(shè)備進(jìn)行設(shè)置,以滿足設(shè)備間數(shù)據(jù)交換的需要。數(shù)據(jù)位通常為 58 位,它緊跟在起始位之后,是被傳送字符的有效數(shù)據(jù)位。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是 8 位的,標(biāo)準(zhǔn)的值是 7 和 8 位。有時(shí)也用 “位周期 ”來(lái)表示傳輸速率,位 周期是波特率的倒數(shù)。串行接口電路的接收波特率和發(fā)送的波特率可以設(shè)置,要求接收 方的接收波特率必須與發(fā)送方的發(fā)送波特率是一致的。國(guó)際上對(duì)波特率規(guī)定了一個(gè)標(biāo)準(zhǔn)系列: 110bps、 300bps、 600bps、 1200bps、 1800bps、2400bps、 4800bps、 9600bps、 、 、 、 56Kbps。 串行通信參數(shù) 串行通信在數(shù)據(jù)交換過(guò)程中,要對(duì)幾個(gè)重要的 通信 參數(shù)進(jìn)行設(shè)置,其中包括波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等。當(dāng)數(shù)據(jù)從 CPU 經(jīng)過(guò)串行端口發(fā)送出去時(shí),數(shù)據(jù)格式由字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位( byte)。串行通信是通過(guò)串行端口實(shí)現(xiàn)的 ]6][5[ 。兩種基本通信方式如圖 22 所示: 嗎 并行通信 串行通信 圖 22 兩種基本的通信方式 計(jì)算機(jī) 1 計(jì)算機(jī)或外設(shè) 2 GND GND 計(jì)算機(jī) 1 計(jì)算機(jī)或外設(shè) 2 GND GND 6 從上面的圖中可以看到,并行通信成本高,并須使用多條通信線,而串行通信只需使用兩條通信線就可以完成兩個(gè)設(shè)備間的數(shù)據(jù)交換,大大降低了通信成本,串行通信又以其串行線間的干擾小得到了廣泛的應(yīng)用。并行通信中所傳送數(shù)據(jù)的各位同時(shí)發(fā)送或接收。 圖 21 9 針通訊接口 串行通信 串行通信基本原理 兩個(gè)設(shè)備之間交換數(shù)據(jù)的過(guò)程我們稱之為通信 ]4[ ?,F(xiàn)在大多數(shù)個(gè)人計(jì)算機(jī)幾乎都沒(méi)有串口,大多采用 USB 接口,所以要實(shí)現(xiàn)個(gè)人計(jì)算機(jī)與外圍設(shè)備進(jìn)行通信大多采用 RS232 轉(zhuǎn) USB 接口。 現(xiàn)在的 計(jì)算 機(jī)一般至少有兩個(gè)串行口 COM1 和 COM2,新一代的計(jì)算機(jī)主要以 9 引腳的 D 型 口 接出所有的 RS232 通信信號(hào)及控制線(有的計(jì)算機(jī)的串口為 25 引腳)。 RS232 串行接口屬于個(gè)人計(jì)算機(jī)( PC)及電信應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn)。 RS232接口 RS232 標(biāo)準(zhǔn)是按負(fù)邏輯定義的,它的 “1”電平在- 5~- 15 V之間, “0”電平在+ 5~+ 15 V之間。它規(guī)定連接電纜、 機(jī)械、電氣特性、信號(hào)功能及傳送過(guò)程 等 。這個(gè)標(biāo)準(zhǔn)對(duì)串行通信接口的有關(guān)問(wèn)題都作了明確規(guī)定。 RS232 協(xié)議一共 有 25 條信號(hào)線, 其中包括一個(gè)主通道和一個(gè)輔助通道,大多數(shù)情況下主要使用 的是 主通道, 盡管有如此多的信號(hào)線,但是 對(duì)于一般雙工通信,僅需 要其中 幾 條信號(hào)線就可實(shí)現(xiàn) 數(shù)據(jù)的傳送 ,如一條發(fā)送線、一條接收線和一條地線。 4 第 2章 串行通信基本原理 RS232通信協(xié)議 RS232標(biāo)準(zhǔn) RS232 標(biāo)準(zhǔn) (協(xié)議) ( ANSI/EIA232 標(biāo)準(zhǔn)) 的全稱是 EIARS232C 標(biāo)準(zhǔn),其中 EIA代表美國(guó)電子工業(yè)協(xié)會(huì), RS代表推薦標(biāo)準(zhǔn), 232是標(biāo)識(shí)號(hào), C代表 RS232的修改次數(shù)。 了解 CRC 校驗(yàn),掌握 CRC 校驗(yàn)基本原理及應(yīng)用。 具體研究?jī)?nèi)容如下: 了解 RS232 協(xié)議,串口和串行通信原理。 本文主要的研究?jī)?nèi)容 本文主要通過(guò) RS232 標(biāo)準(zhǔn)串口協(xié)議,使用 VC++編程語(yǔ)言實(shí)現(xiàn)串行通信,最終完成模擬終端的調(diào)試與仿真。低供電電壓和高數(shù)據(jù)率等都將成為未來(lái)發(fā)展中新設(shè)計(jì)的普遍要求。 RS232串行通信的發(fā)展趨勢(shì) RS232 協(xié)議自 1960 年形成, 1969 年得到認(rèn)證,一直到如今的廣泛使用,始終隨著 各種領(lǐng)域 應(yīng)用需求的不斷變化而穩(wěn)步發(fā)展。 RS232 標(biāo)準(zhǔn)主要適用于通信設(shè)備,它主要 采取 不平衡傳輸方法 ,即所謂的單端通信。 RS232 被定義為一種在低速率串行通信中增加通信距離的單端標(biāo)準(zhǔn)。所以研究 RS232 串行通信意義 非常 重大。所以現(xiàn)在大量的智能儀器 、 2 工控設(shè)備、實(shí)驗(yàn)研究設(shè)備 或數(shù)據(jù)采集模塊都帶有 RS232 串行通訊接口,通過(guò)相應(yīng)的通訊協(xié)議和串口 通訊程序,可以將測(cè)試、采集的數(shù)據(jù)傳輸?shù)缴衔还た貦C(jī),以滿足各種形式后續(xù)數(shù)據(jù)處理的要求。與外圍監(jiān)控設(shè)備通信 實(shí)際上是 計(jì)算機(jī)與計(jì)算機(jī)或計(jì)算機(jī)與終端機(jī)之間的數(shù)據(jù)傳遞 ,它 可以采用串行通信和并行通信兩種通信方式。 這樣做 會(huì)給編程者省去很多的代碼工作量。其中 Windows 平臺(tái)先進(jìn)的 ActiveX 技術(shù)對(duì)串口編程不再需要處理繁瑣的細(xì)節(jié)。 VC++是新一代面向?qū)ο蟮目梢暬_發(fā)工具,作為一個(gè)主流的開發(fā)平臺(tái)一直深受編程愛(ài)好者的喜愛(ài),提供了良好的界面設(shè)計(jì)資源,是當(dāng)下圖形開發(fā)的一個(gè)比較重要的技能和手段, Wi
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1