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

正文內(nèi)容

基于c的rs232通信協(xié)議模擬終端所有專業(yè)(更新版)

2025-07-24 15:28上一頁面

下一頁面
  

【正文】 。 case 1:conf = conf + o,。break。參數(shù)設(shè)置模塊流程圖如圖 413 所示,實(shí)現(xiàn)應(yīng)用程序具體功能的 代碼如下: 圖 413 通信參數(shù)設(shè)置流程圖 void CMyDlg::OnSet() { CSetcs sc。 unsigned char* a= (unsigned char*)(LPCTSTR)strtemp。k,rxdata+k)。 byte rxdata[512]。 //預(yù)讀緩沖區(qū)以清除殘留數(shù)據(jù) } else AfxMessageBox(打開端口失敗 !,MB_ICONSTOP,0)。 //接收緩沖區(qū) (1024)。//波特率,無校驗(yàn),數(shù)據(jù)位, 停止位 return TRUE。 …… // TODO: Add extra initialization here CMylogin my。 } else { ()。%s39。界面的具體情況如圖 48 所示。 圖 45 數(shù)據(jù)庫中用戶名和弱密碼 運(yùn)行應(yīng)用程序時(shí),若輸入了錯(cuò)誤的用戶名或密碼,則系統(tǒng)會(huì)提示輸入錯(cuò)誤。本次登陸界面使用的數(shù)據(jù)庫是微軟的Access 數(shù)據(jù)庫。 程序流程圖如圖 32所示。 程序的主要功能 實(shí)現(xiàn)兩臺(tái) PC 機(jī)之間的通信的應(yīng)用程序,主要實(shí)現(xiàn)了密碼登陸、參設(shè)設(shè)置、參數(shù)顯示、打開串口、關(guān)閉串口、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收 、 CRC 校驗(yàn) 等功能。 1989年微軟公司成立 Application Framework技術(shù)團(tuán)隊(duì),名為AFX小組,用以開發(fā) C++面向?qū)ο蠊ぞ呓o Windows應(yīng)用程序開發(fā)人員使用。其中使用 MFC 直接編寫提供大量預(yù)先 編好的類和支持代碼或使用 MFC和向?qū)В?Wizards)編寫,用 AppWizard 來生成 Windows 應(yīng)用程序框架。 圖 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)的,只適用于對速度不敏感的場合。其中發(fā)送方發(fā)出傳輸字段,傳輸字段由兩部分組成的,分別為信息字段和校驗(yàn)字段 [10,11]。為了避免這一弊端,在進(jìn)行數(shù)據(jù)交換,通信的過程中,對通信的可靠性檢查就需要校驗(yàn),校驗(yàn)是從數(shù)據(jù)本身進(jìn)行檢查,它依靠某種數(shù)學(xué)上約定的形式進(jìn)行檢查,校驗(yàn)的結(jié)果是可靠或不可靠,如果可靠就對數(shù)據(jù)進(jìn)行處理,如果不可靠,就丟棄重發(fā)或者進(jìn)行修復(fù)。打開設(shè)備管理器,看一 下所插入的轉(zhuǎn)換線占的是哪個(gè)串口,因?yàn)樵诮酉聛碚{(diào)試串口要用到。 圖 23 9 芯管腳圖 表 21 9 針管腳各引腳名稱功能圖 九針串口 針號 縮寫 功能說明 信號來源 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 信號地 6 DSR 數(shù)據(jù)設(shè)備準(zhǔn)備好 調(diào)制解調(diào)器 7 RTS 請求發(fā)送 PC 8 CTS 請求發(fā)送 調(diào)制解調(diào)器 9 DELL 振鈴指示 調(diào)制解調(diào)器 9 目前,市場上使用的串口有 9 針管腳的還有 25 針管腳的。 異步通信數(shù)據(jù)通常以字符或者字節(jié)為單位組成字符幀傳送,字符幀由發(fā)送端逐幀發(fā)送,通過傳輸線被接收設(shè)備逐幀接收 [7]。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者傳輸和接收數(shù)據(jù)是否發(fā)生了不同步。傳送時(shí)先傳送字符的低位,后傳送字符的高位。例如:9600bps,是指每秒傳送 數(shù)據(jù) 9600 位,其中包含字符的數(shù)位和其它必須的數(shù)位。 串行通信大多數(shù)用于 Windows 開發(fā) 的應(yīng)用程序與外圍數(shù)據(jù)源設(shè)備之間的數(shù)據(jù)交換。在 RS232 的通訊標(biāo)準(zhǔn)中是以一個(gè) 25 針的接口來定義的, 5 25 針的接口 在早期的計(jì)算機(jī)如 PC 或 XT 機(jī)型上廣泛使用,但在 AT 機(jī)以后的機(jī)型上,實(shí)際均采用了 9 針的簡化版接口 應(yīng)用,現(xiàn)在所說的 RS232 通訊均默認(rèn)為9 針的接口 [4]。由于通信設(shè)備廠商都生產(chǎn)與 RS232C 制式兼容的通信設(shè)備,因此,它作為一種標(biāo)準(zhǔn),目前已在微機(jī)通信接口中廣泛采用,例如在 IBM PC 機(jī)上的 COM COM2 接口,就是 RS232C接口 。 分析 RS232 串行通信的基本原理,并通過串口調(diào)試助手調(diào)通串口以方便接下來的操作。近年來,串行技術(shù)與連接設(shè)備都得到了很大的發(fā)展,串口設(shè)備在設(shè)備電纜、工業(yè)控制和軟件應(yīng)用程序中得到了大量的應(yīng)用,毫無疑問,串行連接技術(shù)仍然是工商業(yè)、醫(yī)療、教育和實(shí)驗(yàn)室等領(lǐng)域中所應(yīng)用的廣泛標(biāo) 志。與外圍監(jiān)控設(shè)備通信 實(shí)際上是 計(jì)算機(jī)與計(jì)算機(jī)或計(jì)算機(jī)與終端機(jī)之間的數(shù)據(jù)傳遞 ,它 可以采用串行通信和并行通信兩種通信方式。 1 第 1章 緒論 課題的研究意義 在發(fā)展如此迅速的信息化時(shí)代,隨著計(jì)算機(jī)的普及和信息技術(shù)的發(fā)展,形成了對信息的獲取 傳送 處 理 利用的完整技術(shù)體系 ,并在此基礎(chǔ)上形成了通信技術(shù) ,它應(yīng)用在生產(chǎn)、醫(yī)療、教育、生活等多種領(lǐng)域,成為現(xiàn)今社會(huì) 生存和 發(fā)展不可或缺的技術(shù)。文中詳細(xì)地介紹了 VC下的 Windows 平臺(tái)先進(jìn)的 ActiveX 控件技術(shù),即 MSComm 控件等。在工業(yè)控制系統(tǒng)和實(shí)驗(yàn)室中, 由 于串行通信具有實(shí)現(xiàn)簡單、使用靈活方便等優(yōu)點(diǎn),串行通信是計(jì)算機(jī)與外部設(shè)備進(jìn)行數(shù)據(jù)通信時(shí)經(jīng)常使用的方式之一。 在研究 RS232 串行通信原理中,主要介紹了 RS232 標(biāo)準(zhǔn)協(xié)議、串口以及串口通信原理。用 RS232 協(xié)議實(shí)現(xiàn)兩臺(tái)PC 機(jī)間的串行通信為以后實(shí)現(xiàn)更加復(fù)雜的設(shè)備間通信奠定了基礎(chǔ)。 VC++是新一代面向?qū)ο蟮目梢暬_發(fā)工具,作為一個(gè)主流的開發(fā)平臺(tái)一直深受編程愛好者的喜愛,提供了良好的 界面設(shè)計(jì)資源,是當(dāng)下圖形開發(fā)的一個(gè)比較重要的技能和手段, Window 圖形界面編程就是 VC++編程開發(fā)的經(jīng)典展現(xiàn)之一。所以 學(xué)習(xí) RS232 串行通信意義 非常 重大。低供電電壓和高數(shù)據(jù)率等都將成為未來發(fā)展中新設(shè)計(jì)的普遍要求。 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代表美國電子工業(yè)協(xié)會(huì), RS代表推薦標(biāo)準(zhǔn), 232是標(biāo)識號, C代表 RS232的修改次數(shù)。 RS232接口 RS232 標(biāo)準(zhǔn)是按負(fù)邏輯定義的,它的 “1”電平在- 5~- 15 V之間, “0”電平在+ 5~+ 15 V之間。 圖 21 9 針通訊接口 串行通信 串行通信基本原理 兩個(gè)設(shè)備之間交換數(shù)據(jù)的過程我們稱之為通信。當(dāng)數(shù)據(jù)從 CPU 經(jīng)過串行端口發(fā)送出去時(shí),數(shù)據(jù)格式由字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位( bit)。有時(shí)也用 “位周期 ”來表示傳輸速率,位 周期是波特率的倒數(shù)。停止位不僅僅是表示傳輸?shù)慕Y(jié)束,還為 計(jì)算機(jī) 提供校正時(shí)鐘同步的機(jī)會(huì),由于 數(shù)據(jù)是在傳輸線上定時(shí)的,并且每個(gè)設(shè)備都有其自己的時(shí)鐘 ,很可能在通信中要進(jìn)行數(shù)據(jù)交換的兩臺(tái)設(shè)備間出現(xiàn)小小的不同步, 停止位 的設(shè)置就是為了避免其中 小小的不同步 [6]。是按照軟件識別同步字符來實(shí) 現(xiàn)數(shù)據(jù)的發(fā)送和接收。 異步通信有自己的 的缺點(diǎn), 其缺點(diǎn)是 它在通信時(shí)的傳輸效率較低。表 21 說明九針管腳的串口各引腳的名稱,功能說明和信號源等。 介紹了通信參數(shù)與串行通信的分類。差錯(cuò)控制編碼是目前數(shù)據(jù)傳輸過程中普遍采用的一種提高數(shù)據(jù)通信可靠性的方法,而 CRC 是一種在實(shí)際通信中應(yīng)用很廣泛的差錯(cuò)控制編碼,具有很強(qiáng)的檢錯(cuò)能力。 圖 31 說明了 CRC 校驗(yàn)中 CRC 值是如何計(jì)算出來的,體現(xiàn)的多項(xiàng)式正是 式 ( 35) 。這個(gè)是按高位到低位的發(fā)送順序時(shí)使用的校驗(yàn)方法。使用此應(yīng)用程序框架有很多優(yōu)點(diǎn),如其應(yīng)用程序代碼小,運(yùn)行速度快,并且此應(yīng)用程序提供的工具也降低了編碼的難度等。 15 雖然在 Windows 下 Win32API 提供了使用文件操作方式的函數(shù)進(jìn)行串口操作的方法,但是在編程實(shí)現(xiàn)上還是比較復(fù)雜 。 主 函數(shù) 密碼登錄 參數(shù)設(shè)置 打開串口 關(guān)閉串口 接收數(shù)據(jù) 發(fā)送數(shù)據(jù) 十六進(jìn)制顯示 CRC校驗(yàn) 16 圖 42 程序流程框圖 開始 調(diào)用初始化程序 登錄驗(yàn)證是否正確 主界面 是否選擇 16 進(jìn)制 選擇串口并打開 是否選擇 CRC 校驗(yàn) 輸入數(shù)據(jù)并發(fā)送 登錄界面 N Y 選擇 CRC N Y 數(shù)據(jù)發(fā)送完成 關(guān)閉串口 結(jié)束 設(shè)置參數(shù) N Y N Y 選擇 16 進(jìn)制 17 使用此應(yīng)用程序時(shí),需要有 正確的 用戶名和密碼才能登錄到此軟件的主界面, 登錄到主界面后,要想 實(shí)現(xiàn)兩臺(tái) PC 間的通信則 需要 選擇 可用 的串口號并且傳輸參數(shù)要一致,其中包括 波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等,只有設(shè)置對的參數(shù)才能實(shí)現(xiàn)數(shù)據(jù)交換的功能。首先打開 VC++ 軟件,建立基于對話框的 MFC 應(yīng)用程序。其中使用 DNS 連接 Access 數(shù)據(jù)庫方法中, 在定義 DSN 的時(shí)候,就已經(jīng)指定好了數(shù)據(jù)源需要的 ODBC 驅(qū)動(dòng)程序,也指定好了數(shù)據(jù)庫文件的實(shí)際路徑和名字,我們在程序中,只需要引用預(yù)先定義的數(shù)據(jù)源名 DSN 即可 [20,21]。 圖 46 登錄界面 (2)主界面 20 主界面是整個(gè)應(yīng)用程序的主體, 大致可劃分為三部分,有接收區(qū)、發(fā)送區(qū)和設(shè)置區(qū)。 實(shí)現(xiàn)該功能的程序流程圖如圖 49 所示, 實(shí)現(xiàn)該功能的 程序 代碼如下: 22 圖 49 用戶名密碼登錄模塊流程圖 void CMylogin::OnBnClickedOk() { // TODO: Add your control notification handler code here OnOK()。,m_username,m_userpwd)。 } } catch(CDBException* e)//try….catch 是捕捉異常,即先執(zhí)行 try 若成功則 結(jié)束 { //若失敗則執(zhí)行 catch 捕捉異常并輸出 eReportError()。 (4)。 CMyDlg md1。//以二進(jìn)制方式讀寫數(shù)據(jù) (1)。 MSComm 通信控件提供了一系列標(biāo)準(zhǔn)通信命令的接口,它可以 建立串口連接,可以連接到其他通信設(shè)備(如 Modem) 還可以發(fā)送命令、進(jìn)行數(shù)據(jù)交換以及 以及監(jiān)視通信中 27 的干擾 ,從而可以用它創(chuàng)建全雙工 、事件驅(qū)動(dòng)的、高效實(shí)用的通信程序 [22,23]。 //讀緩沖區(qū)消息 safearray_inp=variant_inp。k++) //將數(shù)組轉(zhuǎn)換為 CString型變量 { char bt=*(char*)(rxdata+k)。 m_receive+=strtemp。 開始 確定鍵是否按下 設(shè)置通信參數(shù) 打開串口 結(jié)束 Y N 30 = m_jiaoyan。 case 2:conf = 9600,。break。break。break。發(fā)送數(shù)據(jù)流程圖如圖 414 所示,代碼如下 : void CMyDlg::OnSendbtn() { // TODO: Add your control notification handler code here UpdateData(true)。 if(()) m_crcs=crc16r(pC,le)。 int hexdatalen=0。) { i++。 else hexdata=hexdata*16+lowhexdata。)amp。amp。)amp。 } 程序測試 首先,直接雙擊通信文件夾下的 debug 子文件夾下的通信 .exe 運(yùn)行文件;其次,按以下步驟進(jìn)行測試: 35 (1)登錄 輸入錯(cuò)誤密碼,程序提示 “密碼、用戶名錯(cuò)誤,請重試! ”如圖 416 所示。如圖 420 所示。 學(xué)習(xí)了一些數(shù)據(jù)庫的相關(guān)知識,利用了數(shù)據(jù)庫中最簡單、最方便的 Microsoft Office A
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1