【正文】
.精通Visual[14][J].北京學(xué)苑出版社,1994.[15] [J].武漢:華中科技大學(xué)出版社,所以對(duì)通信過程中數(shù)據(jù)交換準(zhǔn)確度的驗(yàn)證采用了比較準(zhǔn)確的方法即CRC校驗(yàn),CRC校驗(yàn)全稱CRC(Cyclic Redundancy Check)循環(huán)冗余校驗(yàn)碼,它是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼,數(shù)據(jù)從發(fā)送端發(fā)送過來同時(shí)在其低位上是兩個(gè)CRC校驗(yàn)碼,接收方對(duì)接收到的數(shù)據(jù)進(jìn)行CRC解碼,與發(fā)送來的數(shù)據(jù)進(jìn)行比對(duì),驗(yàn)證是否相同,若相同則接收到的數(shù)據(jù)是正確的,反之則證明數(shù)據(jù)在發(fā)送過程中受到了干擾等,需重新發(fā)送此數(shù)據(jù)。掌握了串行通信的基本概念。圖417 設(shè)置串口和參數(shù)選擇串口號(hào),并將此串口打開,設(shè)置通信參數(shù)完成后,在發(fā)送區(qū)內(nèi)的編輯框輸入要發(fā)送的內(nèi)容,然后點(diǎn)擊【發(fā)送】按鈕,發(fā)送去編輯框里要發(fā)送的內(nèi)容會(huì)通過此串口發(fā)送到另一個(gè)端口的接收區(qū)的編輯框內(nèi),并在接收區(qū)的編輯框內(nèi)顯示了發(fā)送的內(nèi)容,同理也可在另一個(gè)串口的發(fā)送區(qū)編輯框內(nèi)輸入數(shù)據(jù),此數(shù)據(jù)也可發(fā)送到本串口的編輯框內(nèi),也會(huì)在接收區(qū)的編輯框內(nèi)得到顯示,如圖418所示。發(fā)送數(shù)據(jù)流程圖如圖414所示,代碼如下:開始讀取編輯框發(fā)送和清空更新編輯框結(jié)束圖414 發(fā)送模塊流程圖void CMyDlg::OnSendbtn() { // TODO: Add your control notification handler code here UpdateData(true)。break。break。break。 case 2:conf = 9600,。 = m_jiaoyan。 //將字符送入臨時(shí)變量strtemp存放 m_receive+=strtemp。 //得到有效的數(shù)據(jù)長度 for(k=0。實(shí)現(xiàn)此模塊的程序流程圖如圖412所示,其功能代碼如下:開始接收緩沖區(qū)內(nèi)是否有字符YN將緩沖區(qū)內(nèi)容給接收變量結(jié)束圖412 數(shù)據(jù)交換模塊流程圖代碼如下:void CMyDlg::OnOnComm() { // TODO: Add your control notification handler code here VARIANT variant_inp。 //打開串口(1)。 = m_n。 //輸入方式為二進(jìn)制方式 (1024)。 }實(shí)現(xiàn)先顯示登陸界面后主界面,利用MFC中的模式對(duì)話框在初始化函數(shù)中來實(shí)現(xiàn),若串口是打開的則關(guān)閉串口,同時(shí)串口參數(shù)的設(shè)置也是在初始化函數(shù)中設(shè)置實(shí)現(xiàn)的。 if(())//密碼用戶名不一致 { ()。 //讀取編輯框內(nèi)容 CUserRecordset m_user。完整的主界面如圖47所示。最后為Access數(shù)據(jù)庫demo01建立數(shù)據(jù)源,利用ODBC驅(qū)動(dòng)。然后在將基于對(duì)話框選中(如圖43),直接下一步即可,最后直到完成。通信結(jié)束后,關(guān)閉打開的串口。Windows平臺(tái)先進(jìn)的ActiveX技術(shù)利用已有的MSComm ActiveX控件,只需要編寫少量的代碼,就可以輕松高效地完成任務(wù),使得對(duì)串口編程不再需要處理煩瑣的細(xì)節(jié)。平大家所見到的大多數(shù)Windows應(yīng)用程序均屬于這兩種框架。分析了CRC校驗(yàn)原理、算法形式和算法的實(shí)現(xiàn)。當(dāng)所有數(shù)據(jù)位都這樣操作后,計(jì)算結(jié)束。例如:代碼101011對(duì)應(yīng)的多項(xiàng)式為,而多項(xiàng)式為對(duì)應(yīng)的代碼1100101。為下文編寫Windows應(yīng)用程序?qū)崿F(xiàn)兩臺(tái)PC機(jī)進(jìn)行數(shù)據(jù)交換提供了基礎(chǔ)。由表 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)電腦相連。當(dāng)然它也具有自己獨(dú)特的優(yōu)點(diǎn),其優(yōu)點(diǎn)就是它的通信設(shè)備簡單、便宜。它是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息。(4)奇偶校驗(yàn)位在串行通信中奇偶校驗(yàn)是一種簡單的檢錯(cuò)方式,奇偶校驗(yàn)位僅占一位,用于進(jìn)行奇校驗(yàn)和偶校驗(yàn),同時(shí)也可以無校驗(yàn)位。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是8位的,標(biāo)準(zhǔn)的值是7和8位。 串行通信參數(shù)串行通信在數(shù)據(jù)交換過程中,要對(duì)幾個(gè)重要的通信參數(shù)進(jìn)行設(shè)置,其中包括波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等。并行通信中所傳送數(shù)據(jù)的各位同時(shí)發(fā)送或接收。RS232串行接口屬于個(gè)人計(jì)算機(jī)(PC)及電信應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn)。RS232協(xié)議一共有25條信號(hào)線,其中包括一個(gè)主通道和一個(gè)輔助通道,大多數(shù)情況下主要使用的是主通道,盡管有如此多的信號(hào)線,但是對(duì)于一般雙工通信,僅需要其中幾條信號(hào)線就可實(shí)現(xiàn)數(shù)據(jù)的傳送,如一條發(fā)送線、一條接收線和一條地線。 本文主要的研究內(nèi)容本文主要通過RS232標(biāo)準(zhǔn)串口協(xié)議,使用VC++編程語言實(shí)現(xiàn)串行通信,最終完成模擬終端的調(diào)試與仿真。RS232被定義為一種在低速率串行通信中增加通信距離的單端標(biāo)準(zhǔn)。這樣做會(huì)給編程者省去很多的代碼工作量。 C++。利用 MSComm ActiveX 串行通信控件來實(shí)現(xiàn)串行通信。通信的方式多種多樣,以何種方式實(shí)現(xiàn)通信主要取決于通信設(shè)備。詳細(xì)的分析了幾種主要的通信參數(shù)。關(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 selection of munication mode mainly depends on the munication industrial control systems and 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 , realize serial munication through VC programming. During the process of transmission through the CRC to check the data.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 RS232 serial port and working principle,this design adopted to serial fullduplex mode to realize this article ,the interface is the USB port on the PC. In the aspect of software realization,this design select the MFC application program based on C++ after several methods are realize the serial munication by using MSComm ActiveX serial munication article introduces the ActiveX control technologyMSComm ,the design realize serial munication between two puters.Because of the advantages of low cost and simple structure,serial munication is widely used by of serial munication between two PC machine is the foundation of realizing more plex munication.Keywords: motor。Windows圖形界面編程下的MFC,全稱是Microsoft Foundation Classes,它是Win32中的應(yīng)用程序,目前Win32中基于VC++:一是利用 MSComm ActiveX 串行通信控件;二是使用Windows API通信函數(shù)。同時(shí)整個(gè)監(jiān)控系統(tǒng)會(huì)根據(jù)系統(tǒng)運(yùn)行情況通過串口向監(jiān)控設(shè)備發(fā)送指令,調(diào)節(jié)設(shè)備的運(yùn)行參數(shù)等使得生產(chǎn)過程平穩(wěn)進(jìn)行。未來RS232串口通信仍將在低成本、設(shè)計(jì)簡單的產(chǎn)品中繼續(xù)發(fā)揮著重要作用。在VC++高級(jí)語言中,利用Windows下的MSComm ActiveX控件,實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)間的通信測試與仿真。同時(shí),由于RS232標(biāo)準(zhǔn)具有連線簡單、通訊距離長等優(yōu)點(diǎn),目前也廣泛應(yīng)用于微型計(jì)算機(jī)系統(tǒng)、工控機(jī)和大型設(shè)備系統(tǒng)中。RS232 9針通訊的接口圖如圖21所示 。串行端口的本質(zhì)功能是作為CPU和串行設(shè)備間的編碼轉(zhuǎn)換器。在串行通信中,通信線上所傳輸?shù)淖址麛?shù)據(jù)(代碼)是逐位傳送的,一個(gè)字符由若干位組成,