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

正文內(nèi)容

專拉力試驗機無線網(wǎng)絡(luò)的pc軟件設(shè)計_畢業(yè)設(shè)計論文-資料下載頁

2025-08-02 21:50本頁面

【導讀】技術(shù)實現(xiàn)對多臺拉力試驗機的監(jiān)控,對接收到的數(shù)據(jù)進行簡單處理,繪制出拉力曲線圖,并完成對數(shù)據(jù)的存儲。本文的主要內(nèi)容是介紹了一種基于C++語言開發(fā)的監(jiān)控軟件。原理及整個系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)進行了簡要的闡述。設(shè)計思路、設(shè)計流程等。重點介紹了模塊化程序設(shè)計的方法并著重講述了各功能模塊的。按照要求,本次的軟件可分為以下幾大功能模塊,分別是串口通信模塊、顯。在運行調(diào)試過程中,遇到的一些問題通過老師指導、查閱資料等方法得到了。程序運行的結(jié)果基本達到了預期的效果,串口通訊可靠性滿足要求,拉力。但是,仍有不足之處。美化方面有待進一步加強,軟件不夠靈活,未能實現(xiàn)拉力曲線圖的存儲。

  

【正文】 SHDOT: 畫筆畫出的是點劃線( nWidth 必須不大于 1) 。 南京工程學院自動化學院本科畢業(yè)設(shè)計(論文 ) 32 PS_DASHDOTDOT: 畫筆畫出的是點 點 劃線( nWidth 必須不大于 1) 。 PS_NULL: 畫筆不能畫圖 。 PS_INSIDEFRAME: 由橢圓、矩形、圓角矩形、餅圖以 及弦等生成的封閉對象框時,畫線寬度向內(nèi)擴展。如指定的準確 RGB 顏色不存在,就進行抖動處理 。 ReleaseDC 函數(shù) 函數(shù)功能:函數(shù)釋放 設(shè)備上下文 環(huán)境( DC)供其他應(yīng)用程序使用。函數(shù)的效果與設(shè)備上下文環(huán)境類型有關(guān)。它只釋放公用的和設(shè)備上下文環(huán)境,對于類或私有的則無效。返回值說明了設(shè)備上下文環(huán)境是否釋放;如果釋放成功,則返回值為 1;如果沒有釋放成功,則返回值為 0。函數(shù)原型 如下 : int ReleaseDC(HWND hWnd, HDC hdc); hWnd:指向要釋放的設(shè)備上下文環(huán)境所在的窗口的句柄。 hDC:指向要釋放的設(shè)備上下文環(huán)境的句柄。 MoveTo 函數(shù) MoveTo 函數(shù)的功能是 將 CP 移到 (x, y),函數(shù)實例如下: pDCMoveTo(,)。 此語句是將畫筆移到坐標原點,等待繪圖。 LineTo 函數(shù) LineTo 是 用當前畫筆畫一條線,從當前位置連到一個指定的點。返回 TRUE代表移動成功, FALSE 代表失敗 。 這個 函數(shù)調(diào)用 完畢,當前位置變成 x,y,函數(shù)實例如下: pDCLineTo(+(1*i/7),[i]/9)。 +(1*i/7)是 X 坐標位置 。 [i]/9是 Y 坐標 位置。 調(diào)用 CDC 類成員函數(shù) MoveTo 和 LineTo 可以繪制曲線或者折線。在設(shè)備坐標( Device Coordinate)中 用 MoveTo 函數(shù)來確定坐標原點,然后去 LineTo 函數(shù)將所有的點連起來,配合畫筆就畫出了近似曲線的折線。 南京工程學院自動化學院本科畢業(yè)設(shè)計(論文 ) 33 拉力曲線繪制的總流程圖 圖 繪圖的總流程圖 開始 用 CreatePen 創(chuàng)建一個畫筆 結(jié)束 flag_liu=1? N 用 LineTo 將點連起來 , i++; 用 MoveTo 將畫筆移到坐標原點 準備畫圖 Y N flag_ya=1? iNextTime? N Y i=0 ReleaseDC 釋放畫筆 FilePath=。 m_current=39。139。 FilePath=。 m_current=39。239。 Y 南京工程學院自動化學院本科畢業(yè)設(shè)計(論文 ) 34 說明: 繪圖開始時,首先用 CreatePen 創(chuàng)建了一個畫筆。 flag_liu 和 flag_ya 分別代表了兩臺設(shè)備, 他們繪圖的唯一不同點就是數(shù)據(jù)保存的位置不同。課題的要求是實現(xiàn)對多臺設(shè)備的監(jiān)控,但更多的設(shè)備可以依此類推。 繪圖的方法是先將畫筆移到坐標原點處,然后用 LineTo 函數(shù)將各點的練成折線,由于點的密度非常大(一秒 12 個數(shù)據(jù)),所以得到的肯定是一條平滑的曲線。 繪圖完成后,用 ReleaseDC 函數(shù)釋放畫筆。 有一個弊端就是,拉力試驗時數(shù)據(jù)不可能從零開始,因為裝夾試件時已經(jīng)有一定的壓力產(chǎn)生,但本次所用的繪圖的方法是肯定從坐標零點開始的,所以存在小小的問題。 數(shù)據(jù)的存儲 Visual C++ 的 MFC 提供的 CFile 類中封裝了對文件的打開和關(guān)閉,讀寫及定位、刪除、獲取信息等操作,是最基本的文件操作類。從 CFile 類派生的CStdioFile 類用于操作文本文件,派生了 CMemFile 用于操作內(nèi)存文件。 用 C++的 CFile 類可以簡單的將數(shù)據(jù)存在一個指定的 .txt 文件中。下面介紹數(shù)據(jù)儲存常用到的兩種變量和一個函數(shù)。 CString CString 是一種很有用的 數(shù)據(jù)類型 。它們很大程度上簡化了 MFC 中的許多操作,使得 MFC 在做字符串操作的時候方便了很多。使用 CString 有很多特殊的技巧, 尤其是對字符串的操作, 與其用 sprintf() 函數(shù)或 wsprintf() 函數(shù)來格式化一個字符串,還不如用 CString 對象的 Format()方法: CString s。 (_T(The total is %d),total)。 用這種方法的好處是你不用擔心用來存放格式化后數(shù)據(jù)的 緩沖區(qū) 是否足夠大,這些工作由 CString 類替你完成。 Variant Variant 數(shù)據(jù)類型是所有沒被顯式聲明(用如 Dim、 Private、 Public 或 Static 等語句)為其他類型變量的數(shù)據(jù)類型。 Variant 數(shù)據(jù)類型并沒有類型聲南京工程學院自動化學院本科畢業(yè)設(shè)計(論文 ) 35 明字符 。 可以用 Variant 數(shù)據(jù)類型來替換任何數(shù)據(jù)類型,這樣會更有適應(yīng)性。如果 Variant 變量的內(nèi)容是數(shù)字,它可以用字符串來表示數(shù)字或是用它實際的值來表示,這將由上下文來決定 。 Variant 是一種特殊的 數(shù)據(jù)類型 ,除了定長 String 數(shù)據(jù)及用戶定義類型外,可以包含任何種類的數(shù)據(jù)。 Variant 也可以包含 Empty、 Error、 Nothing 及 Null等特殊值??梢杂?VarType 函數(shù)或 TypeName 函數(shù) 來決定如何處理 Variant 中的數(shù)據(jù)。 ReadFile 函數(shù) ReadFile 函數(shù)的功能是 從 文件指針 指向的位置開始將數(shù)據(jù)讀出到一個文件中 , 且支持同步和異步操作 ,如果文件打開方式?jīng)]有指明 FILE_FLAG_OVERLAPPED的話 , 當 程 序 調(diào) 用 成 功 時 , 它 將 實 際 讀 出 文 件 的 字 節(jié) 數(shù) 保 存 到lpNumberOfBytesRead 指明的 地址空間 中。從文件中讀出數(shù)據(jù)。與 fread 函數(shù)相比,這個函數(shù)要明顯靈活的多。調(diào)用成功 ,返回非 0, 調(diào)用不成功 ,返回為 0。函數(shù)的原型如下: BOOL ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped )。 各參數(shù)的意義是: HANDLE hFile, 需要讀入數(shù)據(jù)的 文件指針 ,這個指針指向的文件必須是GENERIC_READ 訪問屬性的文件。 LPVOID lpBuffer,接收數(shù)據(jù)的緩沖區(qū)。 DWORD nNumberOfBytesToRead,指定要讀取的字節(jié)數(shù)。 LPDWORD lpNumberOfBytesRead,指向一個 DWORD 類型變量的指針,用來接收讀取的字節(jié)數(shù)。如果下一個參數(shù)為 NULL,那么一定要傳入這個參數(shù)。 LPOVERLAPPED lpOverlapped OVERLAPPED 結(jié)構(gòu)體 指針 ,如果文件是以FILE_FLAG_OVERLAPPED 方式打開的話 ,那么這個指針就不能為 NULL。 運用 C++基本的 CFile 類,結(jié)合以上所介紹的知識,可以比較容易的完成數(shù)據(jù)的文件存儲,具體的文件儲存流程圖如下(圖 ): 南京工程學院自動化學院本科畢業(yè)設(shè)計(論文 ) 36 圖 數(shù)據(jù)存儲的流程圖 說明: 本軟件是運用的數(shù)組實現(xiàn)對數(shù)據(jù)的儲存,每秒 12 個數(shù)據(jù),試驗時間大概為三分鐘,每個數(shù)據(jù)占四個字節(jié),所以數(shù)組的大小即為 [180*12*4] 此流程圖中值給出了兩個保存路徑,分別對應(yīng)兩臺拉力設(shè)備,更多臺的設(shè)備可以依此類推。 本章小結(jié) 在本章的內(nèi)容里,詳細講解了軟件的設(shè)計過程。這四個小結(jié),分別從串口通開始 定義一個數(shù)組【 180*12*4】 結(jié)束 數(shù)組轉(zhuǎn)換成 Cstring 變量 確定數(shù)據(jù)長度為 Length N Y ( * (char *)(data)==39。139。) amp。amp。 ( * (char *)(data+1)==39。S39。) N FilePath=。 m_current=39。139。 FilePath=。 m_current=39。239。 Y ( * (char *)(data)==39。239。) amp。amp。 ( * (char *)(data+1)==39。S39。) 南京工程學院自動化學院本科畢業(yè)設(shè)計(論文 ) 37 信模塊的實現(xiàn),人機交互界面的實現(xiàn),拉力曲線繪制模塊的實現(xiàn),數(shù)據(jù)儲存模塊的實現(xiàn)對其進行了細致的分析,給出了大部分 功能實現(xiàn)的流程圖。其中著重講解串口通信模塊的實現(xiàn)。南京工程學院自動化學院本科畢業(yè)設(shè)計(論文 ) 38 第四章 軟件功能的實現(xiàn) 軟件調(diào)試方法 在程序編寫時,由于書寫或邏輯上的疏忽,程序難免會存在或多或少的 BUG。 有些錯誤通過編譯時即可發(fā)現(xiàn)并定位錯誤,然后加以改正。這類錯誤多半是由于書寫錯誤,數(shù)據(jù)類型不一致等,往往很容易發(fā)現(xiàn)。然而有些邏輯上的錯誤很難發(fā)現(xiàn)。這時候軟件調(diào)試至關(guān)重要。 調(diào)試的任務(wù)就是根據(jù)測試時所發(fā)現(xiàn)的錯誤,找出原因和具體的位置,進行改正。目前常用的調(diào)試方法有如下幾種。 ( 1) 回溯法 調(diào)試人員從發(fā)現(xiàn)錯誤癥狀的位置開始,人工沿著程序的控制流程往跟蹤代碼,直到找出錯誤根源為止。這種方法適合于小型程序,對于大規(guī)模程序于其需要回溯的路徑太多而變得不可操作。 ( 2) 對分查找法 這種方法主要用來縮小錯誤的范圍,如果已經(jīng)知道程序中的變量若干位置的正確取值,可以在這些位置上給這些變量以正確值,觀察程序運行輸出結(jié)果,如果沒有發(fā)現(xiàn)問題,則說明從賦予變量一個正確值開始到輸出結(jié)果的程序沒有出錯,問題可能在除此之外的程序中,否則錯誤就在所考察的這窨程序中,對含有錯誤的程序段再使用 這種方法,直到把故障范圍縮小到比較牽診斷為止。 ( 3) 歸納法 歸納法就是從測試所暴露的問題出發(fā),收集所有正確或不正確的數(shù)分析它們之間的關(guān)系,提出假象的錯誤原因,用這些數(shù)據(jù)來證明或反駁,從而定位錯誤所在。 ( 4) 演繹法 根據(jù)測試結(jié)果,列出所有可能的錯誤原因。分析已有的數(shù)據(jù),排除可能和彼此矛盾的原因。對余下的原因,選擇可能性最大的,利用已有的數(shù)據(jù)推演該假設(shè),使假設(shè)更具體。用假設(shè)來解釋所有的原始測試結(jié)果,如果能解釋,這一則假設(shè)得以證實,也就找出錯誤;否則,要么是假設(shè)不完備或不成立,要么有問題。 在本次上位機軟件中用的最多的調(diào)試方法便是回溯法和歸納法,通過軟件運行過程中所暴露出來的問題查找原因。定位到錯誤后加以改正。反復調(diào)試,最后得出比較理想的運行效果! 南京工程學院自動化學院本科畢業(yè)設(shè)計(論文 ) 39 軟件具體調(diào)試 由于種種原因,無法使用相適應(yīng)的硬件進行調(diào)試,只能使用串口調(diào)試助手進行軟調(diào)。 虛擬串口軟件 首先,現(xiàn)在的筆記本電腦上很少配置串口,如果直接用串口助手將無法進行“打開串口”的操作,為此必須先為筆記本安裝一個虛擬串口的軟件。 通過互聯(lián)網(wǎng)下載虛擬串口軟件,軟件名稱為 Configure Virtual Serial Port Driver,簡稱 VSPD,是 Eltima 軟件公司的一個產(chǎn)品,正式版需要付費購買,試用版可以使用 14 天。下載后進行安裝,啟動運行 VSPD 并添加虛擬串口對,則完成虛擬串口試驗環(huán)境的建立。圖 展示了 VSPD 的操作界面。從界面可以看出本機沒有物理的串口,成功建立的串口對為 COM1和 COM2,從中還可以看出 COM2串口發(fā)送數(shù)據(jù)時的串口參數(shù)設(shè)置。如需其他的虛擬口則可以點 Add pair 按鈕,則就添加了串口對 COM3 和 COM4。 圖 VSPD 界面 串口調(diào)試助手軟件 串口調(diào)試助手是串口調(diào)試相關(guān)工具,有多個版本。支持常用的 11025600bps波特率 及自定義波特率,可以自動識別串口,能設(shè)置校驗、 數(shù)據(jù)位 和停止位,能以 ASCII 碼或十六進制接收或發(fā)送任何數(shù)據(jù)或字符,可以任意設(shè)定自動發(fā)送周期 ,并能將接收數(shù)據(jù)保存成文本文件,能發(fā)送任意大小的文本文件。 串 口助手是本次南京工程學院自動化學院本科畢業(yè)設(shè)計(論文 ) 40 調(diào)試的主要工具軟件,具體界面下圖 圖 串
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1