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

正文內(nèi)容

vc編程實(shí)現(xiàn)與usb設(shè)備通信-資料下載頁(yè)

2025-06-29 09:22本頁(yè)面
  

【正文】 ff, 16, NULL, 0, amp。nOutput, NULL) ) { m_Mes=ERROR: DeviceIoControl returns .。 UpdateData(FALSE)。 }}完成其他編輯框的代碼為調(diào)用OnChangeRight()、OnChangeEdit6()、OnChangeEdit7()、OnChangeEdit8()、OnChangeEdit9()函數(shù),與調(diào)用OnChangeLeft() 函數(shù)相同。完整功能編寫代碼的作用首先在對(duì)話框中添加6兩個(gè)編輯框控件,在屬性表單的樣式中選擇數(shù)字,這樣我們?cè)诰庉嬁蛑芯椭荒茌斎霐?shù)字,然后打開Class Wizard 在CMFCAPPDlg類中找到編輯框的ID號(hào)IDC_EDIT1,選則EN_CHANGE,意思為在編輯框中輸入字符時(shí)調(diào)用函數(shù),增加函數(shù)在彈出的對(duì)話框中添加函數(shù)名OnChangeLeft,編輯代碼。先把編輯框控件分別關(guān)聯(lián)成員變量m_left、m_right、m_editm_editm_editm_edit9可以分別用成員變量來(lái)控制相應(yīng)編輯框的數(shù)據(jù)。先從編輯框中獲取數(shù)據(jù),只有6個(gè)編輯框中的字符長(zhǎng)度都不為0時(shí)才調(diào)用以下的函數(shù),否則6個(gè)編輯框中有一個(gè)為空,則跳出此程序。由于完成這個(gè)函數(shù)也是向USB實(shí)驗(yàn)板發(fā)送消息,所以完成這個(gè)消息的框架跟完成流水燈的相同,第1位依然為控制元件的消息代碼,這里應(yīng)用了16進(jìn)制數(shù)0x04來(lái)表示消息由數(shù)碼管顯示元素編輯框發(fā)出,告訴這個(gè)消息是控制數(shù)碼管的,第2位為取ID號(hào)為IDC_EDIT1編輯框中的值,第3位為取ID號(hào)為IDC_EDIT2編輯框中的值。第4位為取ID號(hào)為IDC_EDIT6編輯框中的值,第5位為取ID號(hào)為IDC_EDIT7編輯框中的值,第6位為取ID號(hào)為IDC_EDIT8編輯框中的值,第7位為取ID號(hào)為IDC_EDIT9編輯框中的值,USB實(shí)驗(yàn)板得到這個(gè)16位消息后按位控制,得到對(duì)數(shù)碼管的顯示控制?!∫壕э@示 液晶顯示預(yù)計(jì)完成的功能在顯示界面上的兩個(gè)編輯框中輸入數(shù)字或者字母,在USB實(shí)驗(yàn)板上的液晶顯示器就會(huì)顯示出來(lái)。如果編輯框中輸入的為漢字信息,則會(huì)彈出提示對(duì)話框(只能輸入英文字母和數(shù)字)。完成功能所編寫的程序void CMFCAppDlg::OnChangelcd1() { UpdateData()。 if(!IsE(amp。m_lcd1)) { MessageBox(只能輸入英文字符)。 m_lcd1=。 UpdateData(FALSE)。 } char buff[18]。 ULONG nWritten。 memset(buff,39。 39。,18*sizeof(char))。 buff[0]=1。 buff[1]=1。 for(int i=0。i!=()。i++)buff[i+2]=(i)。 WriteFile(hDevice, buff, 18, amp。nWritten, NULL)。}BOOL CMFCAppDlg::IsE(CString * str){ for(int i=0。i!=strGetLength()。i++) if(strGetAt(i)255||strGetAt(i)0)return FALSE。 return TRUE。}完整功能編寫代碼的作用首先創(chuàng)建兩個(gè)編輯框控件,打開Class Wizard為其添加成員變量m_lcdm_lcd2,之后為其添加一個(gè)函數(shù)OnChangelcd1,在編輯框中有輸入的時(shí)候調(diào)用這個(gè)函數(shù)。然后添加一個(gè)查錯(cuò)的布爾型函數(shù)IsE,當(dāng)在編輯框中輸入大于255或小于0的字符時(shí)就會(huì)顯示錯(cuò)誤,否則顯示正確[13]。在調(diào)用函數(shù)中,首先把編輯框中的數(shù)據(jù)傳送到變量中,調(diào)用查錯(cuò)函數(shù),看輸入的是否符合標(biāo)準(zhǔn),如果輸入的為漢字,則彈出對(duì)話框提示“只能輸入英文字符”。之后聲明一個(gè)18位的字符數(shù)組,用來(lái)發(fā)送消息,然后根據(jù)輸入的字符長(zhǎng)度來(lái)決定發(fā)送字符數(shù)組的內(nèi)容[14]。USB設(shè)備接收到信息就會(huì)在液晶顯示器上顯示在編輯框中所輸入的字符[15]?!囟蕊@示區(qū) 溫度顯示區(qū)預(yù)計(jì)完成的功能在顯示界面上的編輯框中可以正確顯示USB實(shí)驗(yàn)板上溫度傳感器收到的室內(nèi)溫度。完成功能所編寫的程序void CMFCAppDlg::wendu(){ char wen。 // Output from device ULONG nOutput。 if (!DeviceIoControl(hDevice, FORUSB_IOCTL_Read, NULL, 0, amp。wen, 1, amp。nOutput, NULL) ){ m_Mes=ERROR: DeviceIoControl returns .。 UpdateData(FALSE)。 } m_wendu=wen。 UpdateData(FALSE)。}完成功能編寫代碼的作用首先創(chuàng)建一個(gè)編輯框控件,打開Class Wizard為其添加一個(gè)成員變量m_wendu,之后對(duì)m_wendu的操作即為對(duì)這個(gè)編輯框的操作。在CMFCAppDlg類中添加成員變量,返回值為void,函數(shù)名為wendu。在函數(shù)中編寫程序。先定義一個(gè)字符型變量wen,無(wú)符號(hào)的長(zhǎng)整型變量nOutput,之后執(zhí)行傳輸函數(shù),由于是要從USB設(shè)備接受消息,所以調(diào)用函數(shù)為FORUSB_IOCTL_Read[16],前兩個(gè)參數(shù)為從PC機(jī)向USB設(shè)備發(fā)送的消息變量名和格式,中間的為從USB設(shè)備接受的消息變量的名稱和格式。把接受到的信息賦給成員變量m_wendu,最后將變量中的參數(shù)傳誦到編輯框中顯示出來(lái)就完成了此功能[17]。 本章小結(jié)本章主要討論了上位機(jī)軟件的顯示部分,分別介紹了LED流水燈,矩陣鍵盤按鍵顯示,蜂鳴器,數(shù)碼管顯示,液晶顯示,溫度顯示區(qū)等顯示界面元素的編輯代碼,需要完成的主要功能。全面地介紹了上位機(jī)軟件編寫的整個(gè)過(guò)程,完成了上位機(jī)顯示界面的編寫,并可以與USB實(shí)驗(yàn)板連接,完成相應(yīng)的功能。結(jié)  論本文將USB協(xié)議和傳輸方式做了很詳細(xì)的介紹,相互通信就需要對(duì)通信雙方的傳輸格式有相應(yīng)的了解。在相互發(fā)送的數(shù)據(jù)包中,規(guī)定第1位為控制顯示元件的種類,從第2位開始為控制該元件的具體操作,這樣在通信過(guò)程中USB設(shè)備或者PC機(jī)首先檢測(cè)第1位,收到消息知道對(duì)方要控制哪一個(gè)元件,確定元件之后,繼續(xù)讀消息,知道具體的控制信息,這樣就完成了PC機(jī)與USB設(shè)備的相互通信。對(duì)于USB設(shè)備的驅(qū)動(dòng)程序,使用DriverStudio軟件進(jìn)行開發(fā),由于是頭一次進(jìn)行驅(qū)動(dòng)程序的開發(fā)所以不免有很多地方存在問(wèn)題,出現(xiàn)不識(shí)別USB設(shè)備、識(shí)別后不能連接等問(wèn)題。在不斷地學(xué)習(xí)與修改中驅(qū)動(dòng)程序可以完成對(duì)USB設(shè)備的識(shí)別。設(shè)備配置的不同,驅(qū)動(dòng)程序也將有所不同,因此需要開發(fā)滿足自己硬件要求的驅(qū)動(dòng)程序。利用VC編程,控制對(duì)計(jì)算機(jī)底層硬件的操作,利用驅(qū)動(dòng)程序這個(gè)“翻譯”,把VC++程序中的數(shù)組代碼轉(zhuǎn)換成USB設(shè)備可以識(shí)別的數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)中,對(duì)USB設(shè)備進(jìn)行控制。利用VC++環(huán)境下的MFC應(yīng)用程序框架,開發(fā)虛擬顯示界面。它能夠?qū)SB實(shí)驗(yàn)板進(jìn)行相應(yīng)的按鈕控制,同時(shí),可以接受到USB發(fā)送的消息,并顯示在相應(yīng)的編輯框中。完成主機(jī)與設(shè)備之間的交互。本文成功實(shí)現(xiàn)了PC機(jī)與USB設(shè)備的數(shù)據(jù)傳輸。隨著USB技術(shù)的推廣和普及,將會(huì)有越來(lái)越多的計(jì)算機(jī)外圍設(shè)備采用這種總線技術(shù),USB設(shè)備的軟硬件設(shè)計(jì)技術(shù)有著廣泛的應(yīng)用前景。參考文獻(xiàn)[1] [M],北京:中國(guó)電力出版社,2001:110115.[2] 邱罡,++編寫USB人機(jī)接口類通信程序[J].平頂山學(xué)院學(xué)報(bào),2005,20(5):7678. [3] 王成儒,[M].北京:國(guó)防工業(yè)出版社,2004.[4] (美)坎特,[M] .北京:機(jī)械工業(yè)出版社,2000.[5] Art Baker,Jemry XP設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)指南[M] .北京:機(jī)械工業(yè)出版社,2003.[6] DriverStudio開發(fā)USB驅(qū)動(dòng)程序[EB] .[7] 甘玲, C++[M] .北京:清華大學(xué)出版社,2004.[8] ++面向?qū)ο蟪绦蛟O(shè)計(jì)[M].中南大學(xué)出版社,2005.[9] 朱晴婷,黃還鷹, C++程序設(shè)計(jì)——基礎(chǔ)與實(shí)例分析[M].北京:清華大學(xué)出版社,2004.[10] 孫鑫,++深入祥解[M] .北京:電子工業(yè)出版社,2006.[11] [M].北京:清華大學(xué)出版社,2003.[12] Ion Bates .Tim c++[M] .北京:清華大學(xué)出版社.[13] ++程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002[14] ++面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2003.[15] 劉小石,鄭淮, C++[M] .北京:清華大學(xué)出版社,2000:3741.[16] [M] .北京:北京航空航天大學(xué)出版社,2003.[17] 莫林利,++實(shí)現(xiàn)與USB驅(qū)動(dòng)程序的通信[J] .(1) .致  謝值此論文完成之際,謹(jǐn)向我的導(dǎo)師刁鳴老師表示衷心的感謝!從選題,設(shè)計(jì)以及后來(lái)的調(diào)試都得到了刁鳴老師的幫助。盡管刁老師很忙,但是在我編寫上位機(jī)軟件期間,每天多次在實(shí)驗(yàn)室進(jìn)行指導(dǎo),詢問(wèn)進(jìn)度情況,督促我的工作,盡心盡力,甚至周末,也不曾休息,通過(guò)電話等方式詢問(wèn)進(jìn)展情況。我能順利完成,與刁老師的幫助密不可分。在我與搭檔一起對(duì)USB實(shí)驗(yàn)板功能進(jìn)行調(diào)試的時(shí)候,刁老師更給了我們不少建議與意見,讓我們少走了不少的彎路。同時(shí),對(duì)804教研室表示感謝,感謝他們?cè)谫Y源有限的情況下,給我提供了良好的軟硬件環(huán)境,使得我能夠全力投入到工作中。在我軟件調(diào)試、連機(jī)通信期間,得到郭天祥的幫助,在此表示忠心的感謝!在此期間,還有許多同學(xué)給了我很大的幫助,在我很迷惑的時(shí)候是跟他們一起研究學(xué)習(xí),最后完成了軟件的編寫。沒(méi)有他們我的軟件設(shè)計(jì)過(guò)程不會(huì)那么順利,在此,我對(duì)所有關(guān)心過(guò)我、幫助過(guò)我的人表示最衷心的謝意!附  錄USB實(shí)驗(yàn)板正確連接時(shí)的顯示界面50 / 50目  錄第1章 緒論 1 USB簡(jiǎn)介 1 USB驅(qū)動(dòng)程序的意義 1 VC++軟件的介紹 2 系統(tǒng)方案設(shè)計(jì) 2 預(yù)期結(jié)果 3第2章 USB協(xié)議 4 USB系統(tǒng)的使用分類及系統(tǒng)的描述 4 USB物理接口的電器特性 5 USB物理接口 5 電源 6 總線協(xié)議 6 USB設(shè)備 10 設(shè)備特性 10 設(shè)備描述 11 設(shè)備狀態(tài) 11 Bus Enumeration總線標(biāo)號(hào) 13 通用USB設(shè)備操作 14 USB主機(jī) 16 USB分組標(biāo)識(shí) 19 USB的數(shù)據(jù)流包格式 19 令牌包 19 數(shù)據(jù)包 20 握手包 20 特殊包 20 本章小結(jié) 21第3章 USB設(shè)備驅(qū)動(dòng)程序的開發(fā) 22 USB驅(qū)動(dòng)程序簡(jiǎn)介 22 USB驅(qū)動(dòng)程序的開發(fā)過(guò)程 22 本章小結(jié) 30第4章 上位機(jī)界面 31 上位機(jī)顯示界面 31 LED流水燈 31 矩陣鍵盤顯示 34 蜂鳴器 36 數(shù)碼管顯示 38 液晶顯示 40 溫度顯示區(qū) 42 本章小結(jié) 43結(jié)論 44參考文獻(xiàn) 45致謝 47附錄 48
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1