【正文】
,只需要程序員編寫(xiě)少量的代碼,就能輕松完成任務(wù),這樣就使得對(duì)串口編程不再需要處理煩瑣的細(xì)節(jié)。啟用MFC編碼可以使Windows程序員能夠利用C++面向?qū)ο蟮乃枷脒M(jìn)行編程,用好的類作為標(biāo)準(zhǔn),減少代碼的編寫(xiě)量[15]。平大家所見(jiàn)到的大多數(shù)Windows應(yīng)用程序均屬于這兩種框架。本次軟件程序設(shè)計(jì)功能的實(shí)現(xiàn)主要利用Windows編程中MFC(利用C++語(yǔ)言)。分析了CRC校驗(yàn)原理、算法形式和算法的實(shí)現(xiàn)。還有一種是按照字節(jié)計(jì)算CRC校驗(yàn)碼,按字節(jié)校驗(yàn)是每次計(jì)算8位數(shù)據(jù),多是基于查表的算法,首先要準(zhǔn)備一個(gè)表,一共256項(xiàng)。當(dāng)所有數(shù)據(jù)位都這樣操作后,計(jì)算結(jié)束。接收方使用相同的生成碼進(jìn)行校驗(yàn),若接收到的字段或生成碼(二進(jìn)制除法)如果能夠除盡,則說(shuō)明在通信過(guò)程中,數(shù)據(jù)交換期間未受到其他因素的干擾,消息收發(fā)成功。例如:代碼101011對(duì)應(yīng)的多項(xiàng)式為,而多項(xiàng)式為對(duì)應(yīng)的代碼1100101。如早期一樣目前在通信系統(tǒng)的數(shù)據(jù)傳輸過(guò)程中,由于信道中各種復(fù)雜因素的影響,使傳輸?shù)男盘?hào)受到干擾,造成傳輸過(guò)程中誤碼的出現(xiàn)[8]。第3章 CRC校驗(yàn) CRC校驗(yàn)原理 CRC校驗(yàn)碼的基本原理早期的通信由于受到外界各種因素的干擾,會(huì)造成傳輸、接收信號(hào)的不準(zhǔn)確。串口調(diào)試助手是一個(gè)專門用來(lái)調(diào)試串口程序的功能軟件,要想測(cè)試串口是否可用,應(yīng)先打開(kāi)軟件,選擇串口號(hào),打開(kāi)串口,在發(fā)送區(qū)輸入內(nèi)容,點(diǎn)擊發(fā)送按鈕,若在接收區(qū)中有所發(fā)送的內(nè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ī)上的串口是否好用。在RS232的通訊標(biāo)準(zhǔn)中是以一個(gè)25針的接口來(lái)定義的,并且在早期的計(jì)算機(jī)中,如PC機(jī)或XT機(jī)型上得到了廣泛地使用,但是在AT機(jī)以后的機(jī)型上,實(shí)際上均采用了9針管腳的簡(jiǎn)化版本應(yīng)用,現(xiàn)在所說(shuō)的RS232通訊均默認(rèn)為9針的接口。 串口的調(diào)制 串口連接現(xiàn)在大多數(shù)計(jì)算機(jī)外用接口都是USB口,外用接口很少有串口的,并且現(xiàn)在的個(gè)人計(jì)算機(jī)的串口大多都是簡(jiǎn)型的9針串口。異步通信通常有兩個(gè)非常重要的指標(biāo):即字符幀格式和波特率。信息中含有若干個(gè)數(shù)據(jù)字符。 串行通信的分類串行通信又可以分為同步串行通信和異步串行通信兩類。(4)奇偶校驗(yàn)位在串行通信中奇偶校驗(yàn)是一種簡(jiǎn)單的檢錯(cuò)方式,奇偶校驗(yàn)位僅占一位,用于進(jìn)行奇校驗(yàn)和偶校驗(yàn),同時(shí)也可以無(wú)校驗(yàn)位。數(shù)據(jù)位可以由硬件或軟件設(shè)備進(jìn)行設(shè)置,用來(lái)滿足設(shè)備間數(shù)據(jù)交換的需要。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是8位的,標(biāo)準(zhǔn)的值是7和8位。串行接口電路的接收波特率和發(fā)送的波特率可以設(shè)置,要求接收方的接收波特率必須與發(fā)送方的發(fā)送波特率是一致的。 串行通信參數(shù)串行通信在數(shù)據(jù)交換過(guò)程中,要對(duì)幾個(gè)重要的通信參數(shù)進(jìn)行設(shè)置,其中包括波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等。串行通信是通過(guò)串行端口實(shí)現(xiàn)的。并行通信中所傳送數(shù)據(jù)的各位同時(shí)發(fā)送或接收?,F(xiàn)在大多數(shù)個(gè)人計(jì)算機(jī)幾乎都沒(méi)有串口,大多采用USB接口,所以要實(shí)現(xiàn)個(gè)人計(jì)算機(jī)與外圍設(shè)備進(jìn)行通信大多采用RS232轉(zhuǎn)USB接口。RS232串行接口屬于個(gè)人計(jì)算機(jī)(PC)及電信應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn)。它規(guī)定連接電纜、機(jī)械、電氣特性、信號(hào)功能及傳送過(guò)程等。RS232協(xié)議一共有兩個(gè)通道:一個(gè)主通道和一個(gè)輔助通道,很多情況下主要使用的是主通道。了解CRC校驗(yàn),掌握CRC校驗(yàn)基本原理及應(yīng)用。 本文主要的研究?jī)?nèi)容本文主要通過(guò)RS232標(biāo)準(zhǔn)串口協(xié)議,使用VC++編程語(yǔ)言實(shí)現(xiàn)串行通信,最終完成模擬終端的調(diào)試與仿真。 RS232串行通信的發(fā)展趨勢(shì)RS232協(xié)議自1960年形成,1969年得到認(rèn)證,一直到如今的廣泛使用,始終隨著各種領(lǐng)域應(yīng)用需求的不斷變化而穩(wěn)步發(fā)展。RS232被定義為一種在低速率串行通信中增加通信距離的單端標(biāo)準(zhǔn)。由于串行通信方式具有使用線路少、成本低、特別是在遠(yuǎn)程傳輸時(shí),避免了很多條線路的特性不一致而被人們廣泛應(yīng)用。其中Windows平臺(tái)先進(jìn)的 ActiveX 技術(shù)對(duì)串口編程不再需要處理繁瑣的細(xì)節(jié)。隨著通信技術(shù)的不斷創(chuàng)新和發(fā)展以及計(jì)算機(jī)網(wǎng)絡(luò)和多微機(jī)系統(tǒng)的廣泛應(yīng)用,USB通信技術(shù)的發(fā)展如此迅速,盡管如此,然而串口通信技術(shù)以其實(shí)現(xiàn)簡(jiǎn)單、使用靈活方便、數(shù)據(jù)傳輸可靠等優(yōu)點(diǎn)并未面臨被淘汰,反而在通信領(lǐng)域中一直都被人們廣泛的應(yīng)用。關(guān)鍵詞:RS232標(biāo)準(zhǔn);串行通信;C++;CRC校驗(yàn)AbstractWith the rapid development of science and technology, munication technology has bee an indispensable part of social economy, environment, living and learning. There are many kinds of munication modes. The selection of munication mode mainly depends on the munication equipment. In industrial control systems and laboratory, serial munication is widely used in puter and external equipment due to the simple and flexible advantage.Around serial munication technology, this paper mainly introduces the serial munication interface RS232 serial port, and expounds the basic principle of RS232 serial munication and CRC check .It is pleted to realize serial munication by VC programming. It can check the data during the process of transmission through the CRC.In the study of RS232 serial munication principle, this design mainly introduces the principle of serial munication, serial port and RS232 protocol,and analyzes munication parameters in detail. Considering RS232 serial port and working principle, this design adopts serial fullduplex mode to realize munication. In the article, the interface is the USB port on the PC. In the aspect of software realization, after several methods are pared,this design selects the MFC application program which is based on C++ .The design realize the serial munication by using MSComm ActiveX serial munication control. This article introduces the ActiveX control technologyMSComm control. Finally, the design realizes serial munication between two puters.Because of the advantages of low cost and simple structure, serial munication is widely used by people. Realization of serial munication between two PC machines is the foundation of realizing more plex munication.Keywords:RS232 protocol。文中詳細(xì)地介紹了VC下的Windows平臺(tái)先進(jìn)的 ActiveX 控件技術(shù),即MSComm控件等。詳細(xì)的分析了幾種主要的通信參數(shù)。在工業(yè)控制系統(tǒng)和實(shí)驗(yàn)室中,由于串行通信具有實(shí)現(xiàn)簡(jiǎn)單、使用靈活方便等優(yōu)點(diǎn),串行通信是計(jì)算機(jī)與外部設(shè)備進(jìn)行數(shù)據(jù)通信時(shí)經(jīng)常使用的方式之一。通信的方式多種多樣,以何種方式實(shí)現(xiàn)通信主要取決于通信設(shè)備。在研究RS232串行通信原理中,主要介紹了RS232標(biāo)準(zhǔn)協(xié)議、串口以及串口通信原理。利用 MSComm ActiveX 串行通信控件來(lái)實(shí)現(xiàn)串行通信。用RS232協(xié)議實(shí)現(xiàn)兩臺(tái)PC機(jī)間的串行通信為以后實(shí)現(xiàn)更加復(fù)雜的設(shè)備間通信奠定了基礎(chǔ)。 CRC Cyclic Redundancy CheckII 目 錄摘 要 IAbstract II第1章 緒論 1 課題的研究意義 1 研究現(xiàn)狀及發(fā)展趨勢(shì) 2 RS232串行通信的研究現(xiàn)狀 2 RS232串行通信的發(fā)展趨勢(shì) 2 本文主要的研究?jī)?nèi)容 2第2章串行通信基本原理 4 RS232通信協(xié)議 4 RS232標(biāo)準(zhǔn) 4 RS232接口 4 串行通信 5 串行通信基本原理 5 串行通信參數(shù) 6 串行通信的分類 7 串口的調(diào)制 8 串口連接 8 串口調(diào)試 9 本章小結(jié) 10第3章 CRC校驗(yàn) 11 CRC校驗(yàn)原理 11 CRC校驗(yàn)碼的基本原理 11 CRC校驗(yàn)碼權(quán)的形式 12 CRC校驗(yàn)的實(shí)現(xiàn) 13 13第4章 軟件的實(shí)現(xiàn)及其測(cè)試 14 開(kāi)發(fā)工具概述 14 Windows編程與MFC 14 串行通信控件MSComm 14 程序的主要功能 15 程序運(yùn)行平臺(tái) 17 17 建立工程 17 界面功能實(shí)現(xiàn) 18 模塊分析 21 程序測(cè)試 34 本章小結(jié) 39第5章 結(jié)論 40參 考 文 獻(xiàn) 41致 謝 43第1章 緒論 課題的研究意義在發(fā)展如此迅速的信息化時(shí)代,隨著計(jì)算機(jī)的普及和信息技術(shù)的發(fā)展,形成了對(duì)信息的獲取傳送處理利用的完整技術(shù)體系,并在此基礎(chǔ)上形成了通信技術(shù),它應(yīng)用在生產(chǎn)、醫(yī)療、教育、生活等多種領(lǐng)域,成為現(xiàn)今社會(huì)生存和發(fā)展不可或缺的技術(shù)。Windows圖形界面編程下的MFC,全稱是Microsoft Foundation Classes,它是Win32中的應(yīng)用程序,目前Win32中基于VC++:一是利用 MSComm ActiveX 串行通信控件;二是使用Windows A