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

正文內(nèi)容

串口設(shè)備遠(yuǎn)程監(jiān)控軟件設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-閱讀頁

2025-07-08 07:11本頁面
  

【正文】 N_MESSAGE(WM_SOCKET,OnSocket)最后實(shí)現(xiàn)OnSocket函數(shù)。多線程實(shí)現(xiàn)數(shù)據(jù)的收發(fā),其主要的思想是建立一個(gè)TCP ClientBase的基類。在新的線程中,新增加了一個(gè)TCP Client類,該類繼承于 TCP ClientBase基類,從實(shí)現(xiàn)應(yīng)用程序與新增加設(shè)備進(jìn)行數(shù)據(jù)通信的目的。GPS頻標(biāo)時(shí)標(biāo)同步信號源為例,其實(shí)現(xiàn)代碼如下:1)調(diào)用windows Socket DLL初始化套接字: WSADATA data。 //定義版本號碼 ::WSAStartup(w,amp。2)獲取控件輸入的端口號和IP地址: GetDlgItemText(IDC_EDIT_ADDR,strIP)。 int nPort = atoi(strPort)。消息響應(yīng)機(jī)制/多線程監(jiān)聽機(jī)制。5)套接字參數(shù)設(shè)置: = AF_INET。 = ntohs(nPort)。addr, sizeof(addr))。 ()。 TRACE(OnSocket\n)。 char buffer[128] = {0}。 int nRead。 ()。 memcpy((void*)buf, (void*)buffer, 128)。 switch(nRead) { case 0: break。 break。\039。 for(int i=0。 i ++) { TRACE(buffer[%d] = %02x, i, buf[i])。 } } } if(lParam == FD_CONNECT) { m_bConnected = true。 ((CButton*)GetDlgItem(IDC_BUTTON_OPEN_COM))EnableWindow(false)。 ((CStatic*)GetDlgItem(IDC_LIGHT_CONNECT))SetIcon(m_greenIcon)。9)關(guān)閉套接字: ::closesocket(m_socket)。第四章GPS設(shè)備協(xié)議解析Socket套接字實(shí)現(xiàn)接收數(shù)據(jù)后,還需要對接收的數(shù)據(jù)進(jìn)行驗(yàn)證和解析處理。 接收數(shù)據(jù)的驗(yàn)證接收數(shù)據(jù)的驗(yàn)證,主要是驗(yàn)證數(shù)據(jù)否否符合設(shè)備的數(shù)據(jù)協(xié)議,確定接收到的數(shù)據(jù)是否正確。否則丟棄接收到的數(shù)據(jù)。OnCommunication()函數(shù)的實(shí)現(xiàn)則以設(shè)備的發(fā)送協(xié)議為基礎(chǔ)進(jìn)行設(shè)計(jì),采用狀態(tài)機(jī)機(jī)制,用來驗(yàn)證數(shù)據(jù)。軟件終端調(diào)用OnCommunication()函數(shù)對存在Buffer[]中的數(shù)據(jù)進(jìn)行狀態(tài)機(jī)驗(yàn)證。 接收數(shù)據(jù)的解析狀態(tài)機(jī)驗(yàn)證接收數(shù)據(jù)后,接收的數(shù)據(jù)存儲在一個(gè)m_RecvData[128]的數(shù)組中,數(shù)據(jù)的解析則是根據(jù)協(xié)議解析m_RecvData[128]數(shù)組中的內(nèi)容。及m_RecvData[4]中為時(shí), m_RecvData[5]中為分, m_RecvData[6]中為秒。 (%d, m_RecvData[5])。其他數(shù)據(jù)項(xiàng)的解析與時(shí)間的解析思路一致,只是具體項(xiàng)的具體解析算法不一致。一步一步來判斷一個(gè)幀數(shù)據(jù)是如何接收到的。整體掌握幀數(shù)據(jù)從接收到解析出來,能夠進(jìn)行使用的整個(gè)過程。在人機(jī)交互的設(shè)計(jì)中,主要利用VC++編譯器和MFC框架實(shí)現(xiàn)上層界面的設(shè)計(jì)。 Visual C++ Visual C++ ,是微軟推出的一款C++編譯器,將“高級語言”翻譯為“機(jī)器語言(低級語言)”的程序。自1993年Microsoft公司推出Visual C++,隨著其新版本的不斷問世,Visual C++已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。所以實(shí)際中,更多的是以Visual C++。Visual C++,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。VC++應(yīng)用程序的開發(fā)主要有兩種模式,一種是WINAPI開發(fā)方式比較繁瑣,而MFC則是對WINAPI開發(fā)更具備效率優(yōu)勢。MFC借助C++的優(yōu)勢為Windows開發(fā)開辟了一片新天地,同時(shí)也借助ApplicationWizzard使開發(fā)者擺脫離了每次都必寫基本代碼,借助ClassWizard和消息映射使開發(fā)者擺脫了定義消息處理時(shí)那種混亂和冗長的代碼段。利用C++的封裝性開發(fā)者可以更容易理解和操作各種窗口對象;利用C++的派生性開發(fā)者可以減少開發(fā)自定義窗口的時(shí)間和創(chuàng)造出可重用的代碼;利用虛擬性可以在必要時(shí)更好的控制窗口的活動。 MFC框架 MFC框架簡介MFC,微軟基礎(chǔ)類(Microsoft Foundation Classes),是微軟提供的用于在C++環(huán)境下編寫應(yīng)用程序的一個(gè)框架和引擎,是對API函數(shù)的專用C++封裝,微軟做了大量的封裝,隱藏了許多內(nèi)部實(shí)現(xiàn),簡化了開發(fā)人員的工作量。因?yàn)榭傮w上,MFC框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有 的東西填入這個(gè)輪廓。 MFC類層次結(jié)構(gòu)圖微軟MFC類庫提供了大量的MFC類,開發(fā)人員可以很方便地利用這些類高效快速地開發(fā)出自己的應(yīng)用程序。從圖中,可以看到各種類和控件的相互關(guān)系。該應(yīng)用程序類包含了 Windows 下 MFC 應(yīng)用程序的初始化、運(yùn)行和結(jié)束過程。CWinApp 所包含的數(shù)據(jù)成員主要用于存放和控制應(yīng)用程序本身的信息。2)CWnd類CWnd類提供了微軟基礎(chǔ)類庫中所有窗口類的基本功能。CWnd對象是由CWnd的構(gòu)造函數(shù)和析構(gòu)函數(shù)創(chuàng)建或銷毀的。DestroyWindow函數(shù)銷毀Windows的窗口,但是不銷毀對象。接收到的Windows通知消息通過消息映射被自動發(fā)送到適當(dāng)?shù)腃Wnd OnMessage成員函數(shù)。使用CWnd類同時(shí)還能夠?yàn)閼?yīng)用程序創(chuàng)建Windows的子窗口。在派生類中實(shí)現(xiàn)消息處理成員函數(shù)和消息映射,以指定當(dāng)消息被發(fā)送到窗口時(shí)應(yīng)該如何動作。首先,調(diào)用構(gòu)造函數(shù)CWnd以創(chuàng)建一個(gè)CWnd對象,然后調(diào)用Create成員函數(shù)以創(chuàng)建子窗口并將它連接到CWnd對象。在微軟基礎(chǔ)類庫中,從CWnd派生了許多其它類以提供特定的窗口類型。從CWnd派生的控件類,如CButton,可以被直接使用,也可以被進(jìn)一步派生出其它類來。每當(dāng)發(fā)生一個(gè)事件,如擊鍵或鼠標(biāo)點(diǎn)擊,就會向應(yīng)用程序發(fā)送一個(gè)消息,然后由它來處理事件。在這種模式下,“消息映射”被用于指明哪個(gè)函數(shù)將為特定的類處理不同的消息。 MFC開發(fā)應(yīng)用程序?qū)崿F(xiàn)Visual C++。界面開發(fā)中,各種控件可以方便的添加需要的消息響應(yīng),提供應(yīng)用程序后臺數(shù)據(jù)的處理及通訊效率。下面以建立基于對話框的應(yīng)用程序?yàn)槔?,詳述建立MFC應(yīng)用程序步驟。點(diǎn)擊 文件新建,彈出新建應(yīng)用程序?qū)υ捒?,如下圖所示:2) 選擇 在新建對話框中選擇“工程”主菜單,選中“MFC AppWizard(exe)”,在“工程名稱”一欄中輸入相應(yīng)的工程名稱,選擇好工程相應(yīng)的位置,點(diǎn)擊“確定”按鈕,則彈出MFC應(yīng)用程序向?qū)υ捒?,此界面可以選擇應(yīng)用程序是基于單文檔、多文檔還是基本對話框,如下圖所示。如下圖。4) 所有選擇保存默認(rèn),點(diǎn)擊下一步。后續(xù)彈出的對話框如下所示。6) 點(diǎn)擊完成,則新建基于對話框的應(yīng)用程序成功。用戶可以根據(jù)需要在該界面拖動控件布局成自己需要的界面程序。也可以方便的添加類的成員變量。選中按鈕控件。把控件設(shè)置好響應(yīng)的控件ID和標(biāo)題。點(diǎn)擊關(guān)閉2) 利用類向?qū)砑酉㈨憫?yīng)函數(shù)。如下圖所示:選擇Message Maps菜單,在Object IDs中選擇需要添加響應(yīng)函數(shù)的按鈕,選中后,在Messages一欄中會顯示系統(tǒng)提供給該控件的消息響應(yīng)。選擇Edit Code,則進(jìn)入添加的消息響應(yīng)函數(shù)中。此時(shí),若用戶點(diǎn)擊界面的按鈕,則消息響應(yīng)函數(shù)執(zhí)行。為串口設(shè)備通過網(wǎng)絡(luò)實(shí)現(xiàn)人機(jī)交互提供了可能。對接收到的數(shù)據(jù)回復(fù)進(jìn)行接收、解析并顯示。圖 03:軟件界面功能說明運(yùn)用MFC框架方法,課題開發(fā)了簡單的人機(jī)界面。運(yùn)用此種方法進(jìn)行設(shè)計(jì),能夠大大提升效率。演示成果圖及硬件圖如下圖所示:串口通訊雖歷史悠久且速率低,但其簡單可靠的特點(diǎn)仍然在專業(yè)領(lǐng)域得到大量應(yīng)用。因此,串口的聯(lián)網(wǎng)解決方案是物聯(lián)網(wǎng)時(shí)代的重要課題之一。由于時(shí)間原因,僅實(shí)現(xiàn)了基本的通訊功能,成果有限。 課題工作總結(jié)和結(jié)論本課題對物聯(lián)網(wǎng)、串口通訊、遠(yuǎn)程監(jiān)控等應(yīng)用概念進(jìn)行了理論基礎(chǔ)學(xué)習(xí),分析了串口通訊在物聯(lián)網(wǎng)時(shí)代的地位和價(jià)值,提出了基于串口聯(lián)網(wǎng)服務(wù)器的串口遠(yuǎn)程聯(lián)網(wǎng)方案并進(jìn)行了實(shí)現(xiàn)。對串口通訊的歷史和未來進(jìn)行了研究,并總結(jié)串口通訊在物聯(lián)網(wǎng)以及遠(yuǎn)程監(jiān)控等方面依然具有極為重要的應(yīng)用價(jià)值。課題提出了具體的方案硬件架構(gòu),并著重進(jìn)行了計(jì)算機(jī)軟件的開發(fā)設(shè)計(jì),針對GPS時(shí)鐘這一目標(biāo)設(shè)備,完成了TCP Socket通信、協(xié)議解析、人機(jī)接口設(shè)計(jì)三方面工作,實(shí)現(xiàn)了計(jì)算機(jī)軟件對遠(yuǎn)端GPS設(shè)備的遠(yuǎn)程監(jiān)控功能。課題通過具體硬件和軟件設(shè)計(jì)實(shí)現(xiàn)了串口的遠(yuǎn)程聯(lián)網(wǎng)通訊,證明串口通訊在物聯(lián)網(wǎng)時(shí)代仍然可以簡單、有效的得以實(shí)現(xiàn)和整合,成為物聯(lián)網(wǎng)重要的有機(jī)組成部分。而多串口通訊是實(shí)際應(yīng)用中更為常見的情況。2) 實(shí)際應(yīng)用中的網(wǎng)絡(luò)連接往往比較復(fù)雜,如何在一個(gè)龐大的網(wǎng)絡(luò)中搜索到串口聯(lián)網(wǎng)服務(wù)器并快速建立連接也是一個(gè)待解決問題。在此非常感謝在大學(xué)畢業(yè)設(shè)計(jì)期間在生活和學(xué)習(xí)上給予我?guī)椭睦蠋熀屯瑢W(xué)。由于作者的理論和技術(shù)水平有限,論文中難免出現(xiàn)一些錯誤、問題,還請老師和同學(xué)批評指正。 Wang Shaoping 。 Qishen Zhu, RS485 serial port pseudofullduplex munication research and application, Prognostics and Health Management Conference, 2010. PHM 39。 Drapela, of serial port (RS232) munication in LabVIEW,Modern Technique and Technologies, 2008. MTT 2008. International Conference, pp3640, 2008.[18]Jingjing Wang, Realizing SMS Using PC39。09. Second International Workshop on, vol 2, pp382384, 2009.[19], Interface unit for audiocassette and RS232standard serial port, Journal of Microputer Applications, Volume 8, Issue 3, July 1985, Pages 279284.[20]JohnIovine, RS232 SerialCommunication, PIC Projects for NonProgrammers,2012, Pages 151187.[21]John Ridley, Serial transfer of programs, Mitsubishi FX Programmable Logic Controllers (Second Edition), 2003, Pages 5565.
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1