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

正文內(nèi)容

畢業(yè)論文基于c的rs232通信協(xié)議模擬終端(文件)

2025-06-14 18:57 上一頁面

下一頁面
 

【正文】 ,即RS232標(biāo)準(zhǔn)以及接口,學(xué)習(xí)了串行通信的基本原理,串行通信的通信參數(shù),例如波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)位等。應(yīng)用程序?qū)崿F(xiàn)了選擇串口、打開串口、關(guān)閉串口、發(fā)送接收數(shù)據(jù)等功能,同時(shí)又可通過應(yīng)用程序設(shè)置通信參數(shù)(包括波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)位等)。但此方法只能簡單驗(yàn)證不準(zhǔn)確。用RS232協(xié)議實(shí)現(xiàn)兩臺(tái)PC機(jī)間的串行通信是實(shí)現(xiàn)主控機(jī)與外圍通信的前提,為以后實(shí)現(xiàn)更加復(fù)雜的設(shè)備間通信奠定了基礎(chǔ)。雜志:促進(jìn)科技,2001年,河北省科學(xué)院卷。2006.[17] OriwishC++技術(shù)內(nèi)幕[J].:清華大學(xué)出版社,1996.[19] 吳國鳳,++程序設(shè)計(jì)[J].高等教育出版社 2006.[20] 王珊,[J].C++[J].北京:學(xué)苑出版社,1996. [18].Nathan2001.串行通信控制的C++生成和RS232[M].北京:清華大學(xué)出版社,2002年,第218.[6] 金衛(wèi)民.VC下利用串口進(jìn)行數(shù)據(jù)通信的研究[J].計(jì)算機(jī)工程和設(shè)計(jì),2003,24(12):120123.[7] 張?bào)蘩颍?+實(shí)踐與提高串口通信與工程應(yīng)用篇[J].北京:中國鐵道出版社,2006.[8] Bjarne Stroustrup. The C++ Programming Language:Special Edition[J]. AddisonWesley Professional,2010.[9] 王華,岳麗全,++[J].長春工程學(xué)院學(xué)報(bào):自然科學(xué)版,2009,10(1).[10] Herbert ++:The Complete Reference,Fourth Edition[J] .McGrawHill[11] 孫淑霞,李思明,++程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與測試第2版[J].電子工業(yè)出版社,2007.[12] 王莉,++的串口通信設(shè)計(jì)及其應(yīng)用[J].控制工程,2004,11 (S1) :89292.[13] 楊國霞。使用此校驗(yàn)方法可以保證數(shù)據(jù)收發(fā)的準(zhǔn)確性。所以通信過程中要對(duì)接收到的數(shù)據(jù)進(jìn)行校驗(yàn)。,利用了數(shù)據(jù)庫中最簡單、最方便的Microsoft Office Access數(shù)據(jù)庫,通過ODBC建立數(shù)據(jù)源來實(shí)現(xiàn)用戶名密碼登錄驗(yàn)證功能。 第5章 結(jié)論通過RS232標(biāo)準(zhǔn)協(xié)議接口,用WINDOWS編程下的MFC應(yīng)用程序,基于C++語言的串行通信,基本實(shí)現(xiàn)了兩臺(tái)PC機(jī)間的數(shù)據(jù)交換。即串口3的內(nèi)容“學(xué)號(hào)是090402095”發(fā)送到了串口4中,串口4的內(nèi)容“Hello!我是富卓!”可以發(fā)送到串口3的接收區(qū),并在編輯框中得到顯示。圖415 用戶名密碼不一致輸入正確用戶名和密碼,程序提示“登錄成功!歡迎使用!”如圖416 所示。 //讀取編輯框內(nèi)容 (COleVariant(m_send))。 } (conf)。 case 2:conf = conf + 2。 } switch(m_stopbit) // 設(shè)置停止位 { case 0:conf = conf + 1。 case 3:conf = conf + 8,。 case 1:conf = conf + 6,。 default:conf = conf+n,。 case 1:conf = conf + o,。break。break。 = m_stopbit。參數(shù)設(shè)置模塊流程圖如圖 413 所示,實(shí)現(xiàn)應(yīng)用程序具體功能的代碼如下:開始確定鍵是否按下Y設(shè)置通信參數(shù)N打開串口結(jié)束圖413 通信參數(shù)設(shè)置流程圖void CMyDlg::OnSet() { // TODO: Add your control notification handler code here CSetcs sc。 //加入接收編輯框?qū)?yīng)字符串 } } CString temp=(\r\n)。klen。klen。 if(()==2) //值為表示接收緩沖區(qū)內(nèi)有字符 { variant_inp=()。 COleSafeArray safearray_inp。}使用MSComm通信控件是MFC中進(jìn)行串口通訊最簡單的。 //每當(dāng)接收緩沖區(qū)有個(gè)字符則接收串口數(shù)據(jù)(0)。//設(shè)置當(dāng)前接收區(qū)數(shù)據(jù)長度為,表示全部讀取 (1)。 (m_n+1)。程序流程圖如圖411所示,實(shí)現(xiàn)其功能代碼如下:void CMyDlg::OnOpen() { // TODO: Add your control notification handler code here if(()) (FALSE)。 //設(shè)置輸入緩沖區(qū) (512)。//顯示登錄界面if(()) //如果發(fā)現(xiàn)串口本來是打開的,則關(guān)閉串口 (FALSE)。初始化的程序流程圖如圖410所示。 CDialog::OnOK()。 AfxMessageBox(用戶名、密碼錯(cuò)誤,請重試!)。%s39。 try { if(()) ()。需要重新輸入和驗(yàn)證,驗(yàn)證通過后才可以登錄。 圖47 主界面完成兩臺(tái)PC機(jī)間的串行通信(數(shù)據(jù)交換),必須保證兩個(gè)串口的通信參數(shù)一致,這樣就需要將兩個(gè)應(yīng)用程序的通信參數(shù)重新設(shè)置,通信參數(shù)包括波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等。登陸界面如圖 46 所示。數(shù)據(jù)庫和數(shù)據(jù)源建立完成后,開始用MFC建立登陸界面。對(duì)Access數(shù)據(jù)庫的連接與操作有很多種方法,例如在ASP中建立對(duì)Access數(shù)據(jù)庫的連接、使用Recordset對(duì)象操作Access數(shù)據(jù)庫、使用SQL指令操作數(shù)據(jù)庫、使用DSN連接Access數(shù)據(jù)庫等。圖43 建立基于對(duì)話框應(yīng)用程序過程圖按照如上所示的方法步驟,建立Win32下的MFC應(yīng)用程序工程,應(yīng)用程序工程名為“通信”,最后點(diǎn)擊完成按鈕,就會(huì)出現(xiàn)MFC應(yīng)用程序初始界面如圖44所示。 建立工程要實(shí)現(xiàn)通信,首先應(yīng)先建立工程,即新建基于Win32的MFC應(yīng)用程序。能夠發(fā)送單個(gè)或多個(gè)數(shù)據(jù)。主函數(shù)密碼登錄參數(shù)設(shè)置打開串口關(guān)閉串口接收數(shù)據(jù)發(fā)送數(shù)據(jù)圖41 主要功能框圖應(yīng)用程序主要實(shí)現(xiàn)的功能如圖41所示的主要功能框圖,此應(yīng)用程序的總體程序流程圖如圖42所示。這樣程序員就不需要花費(fèi)大量時(shí)間去了解復(fù)雜的API函數(shù),只需要利用MSComm控件就可實(shí)現(xiàn)串口編程。 串行通信控件MSComm目前,以Win 32 下的MFC應(yīng)用程序?yàn)橹饕蚣埽赩C++的常用串行通信編程一般可以用兩種方法實(shí)現(xiàn):一種是使用Windows API通信函數(shù)。MFC的全稱是Microsoft Foundation Classes。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)用的代碼即可。并通過CRC校驗(yàn)實(shí)現(xiàn)通信中的檢錯(cuò)。在使用的時(shí)候,把計(jì)算出來的校驗(yàn)值放在最后兩個(gè)字節(jié)里,將其發(fā)送出去,接收端對(duì)所有的數(shù)據(jù)進(jìn)行相同的校驗(yàn),如校驗(yàn)值為0我們則認(rèn)為其數(shù)據(jù)沒有出錯(cuò)。此時(shí),16 位移位寄存器中的內(nèi)容就是 CRC 碼。 CRC校驗(yàn)碼權(quán)的形式CRC校驗(yàn)碼有很多種權(quán)的行式,使用哪一種形式是根據(jù)通信雙方共同制定的“規(guī)則”而定的,其中各種常用權(quán)的形式如下所示: (31) (32) (33) (34) (35)以其中CRCCCITT形式為例。CRC校驗(yàn)碼是在K位信息碼后再拼接R位的校驗(yàn)碼,整個(gè)編碼長度為N位,因此,這種編碼也叫(N,K)碼。差錯(cuò)控制編碼是目前數(shù)據(jù)傳輸過程中普遍采用的一種提高數(shù)據(jù)通信可靠性的方法,而CRC是一種在實(shí)際通信中應(yīng)用很廣泛的差錯(cuò)控制編碼,具有很強(qiáng)的檢錯(cuò)能力。 第3章 CRC校驗(yàn) CRC校驗(yàn)原理 CRC校驗(yàn)碼的基本原理在早期的通信中,由于通信技術(shù)不夠可靠(不可靠性的來源是通信技術(shù)決定的,比如電磁波通信時(shí)受雷電等因素的影響),這樣不可靠的通信就會(huì)帶來“確認(rèn)信息”的麻煩,造成一些事情的延誤等。串口調(diào)試助手是一個(gè)專門用來調(diào)試串口程序的功能軟件,要想測試串口是否可用,應(yīng)先打開軟件,選擇串口號(hào),打開串口,在發(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針的接口來定義的,并且在早期的計(jì)算機(jī)中,如PC機(jī)或XT機(jī)型上得到了廣泛地使用,但是在AT機(jī)以后的機(jī)型上,實(shí)際上均采用了9針管腳的簡化版本應(yīng)用,現(xiàn)在所說的RS232通訊均默認(rèn)為9針的接口。 串口的調(diào)制 串口連接現(xiàn)在大多數(shù)計(jì)算機(jī)外用接口都是USB口,外用接口很少有串口的,并且現(xiàn)在的個(gè)人計(jì)算機(jī)的串口大多都是簡型的9針串口。異步通信通常有兩個(gè)非常重要的指標(biāo):即字符幀格式和波特率。信息中含有若干個(gè)數(shù)據(jù)字符。 串行通信的分類串行通信又可以分為同步串行通信和異步串行通信兩類。對(duì)于奇校驗(yàn)和偶校驗(yàn),串口會(huì)設(shè)置校驗(yàn)位,是數(shù)據(jù)位后面的一位,用一個(gè)值保證傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。(3)停止位停止位一般為,用于表示單個(gè)包的最后一位。如何設(shè)置取決于傳送的信息。在串行通信中,通信線上所傳輸?shù)淖址麛?shù)據(jù)(
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1