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

正文內容

vc編程實現(xiàn)與usb設備通信(存儲版)

2025-07-29 09:22上一頁面

下一頁面
  

【正文】 eviceIoControl(hDevice, FORUSB_IOCTL_Write, buff, 16, bufOutput, 0, amp?!【仃囨I盤顯示 矩陣鍵盤預計完成的功能用鼠標點擊矩陣鍵盤中的按鈕,把16個矩陣鍵盤分別定義為16個數(shù),在USB實驗板數(shù)碼管上會有相應的十六進制數(shù)顯示。當然在程序中需要首先定義字符變量sw,否則程序無法識別sw0,會出現(xiàn)錯誤。UpdateData(FALSE)。 buff[0]=0x03。在此需要聲明一下,3個函數(shù)中都定義了一個16位的字符數(shù)組buff[16],但是它們是沒有直接關系的,每一個函數(shù)都為局部變量,都僅在函數(shù)內部有效而在函數(shù)外部無效[12]。 buff[1]=(0)39。 buff[5]=(0)39。完整功能編寫代碼的作用首先在對話框中添加6兩個編輯框控件,在屬性表單的樣式中選擇數(shù)字,這樣我們在編輯框中就只能輸入數(shù)字,然后打開Class Wizard 在CMFCAPPDlg類中找到編輯框的ID號IDC_EDIT1,選則EN_CHANGE,意思為在編輯框中輸入字符時調用函數(shù),增加函數(shù)在彈出的對話框中添加函數(shù)名OnChangeLeft,編輯代碼。 if(!IsE(amp。,18*sizeof(char))。}BOOL CMFCAppDlg::IsE(CString * str){ for(int i=0。USB設備接收到信息就會在液晶顯示器上顯示在編輯框中所輸入的字符[15]。 } m_wendu=wen。全面地介紹了上位機軟件編寫的整個過程,完成了上位機顯示界面的編寫,并可以與USB實驗板連接,完成相應的功能。它能夠對USB實驗板進行相應的按鈕控制,同時,可以接受到USB發(fā)送的消息,并顯示在相應的編輯框中。同時,對804教研室表示感謝,感謝他們在資源有限的情況下,給我提供了良好的軟硬件環(huán)境,使得我能夠全力投入到工作中。我能順利完成,與刁老師的幫助密不可分。利用VC編程,控制對計算機底層硬件的操作,利用驅動程序這個“翻譯”,把VC++程序中的數(shù)組代碼轉換成USB設備可以識別的數(shù)據傳輸?shù)絾纹瑱C中,對USB設備進行控制。把接受到的信息賦給成員變量m_wendu,最后將變量中的參數(shù)傳誦到編輯框中顯示出來就完成了此功能[17]。nOutput, NULL) ){ m_Mes=ERROR: DeviceIoControl returns .。在調用函數(shù)中,首先把編輯框中的數(shù)據傳送到變量中,調用查錯函數(shù),看輸入的是否符合標準,如果輸入的為漢字,則彈出對話框提示“只能輸入英文字符”。 WriteFile(hDevice, buff, 18, amp。 memset(buff,39。如果編輯框中輸入的為漢字信息,則會彈出提示對話框(只能輸入英文字母和數(shù)字)。 UpdateData(FALSE)。 buff[4]=(0)39。 ULONG nOutput。由于是按鈕控件,并且也是按鈕實現(xiàn)蜂鳴器響與不響的相互轉換,這與對流水燈的控制很相似,首先定義了一個16位的字符數(shù)組變量buff[16],與對流水燈的控制相同,字符數(shù)組的第一位表示控制的是蜂鳴器,選擇了十六進制的0x03,第2位為具體對蜂鳴器的操作,首先對按鈕設置了一個成員變量m_buzzer,對m_buzzer的操作就相當與對蜂鳴器按鈕的操作[11]。 char buff[16]。if (!DeviceIoControl(hDevice,FORUSB_IOCTL_Write,buff,16,bufOutput,0,amp。對于sw1到sw15這些按鈕,如同sw0按鈕的方法相同。來完成流水燈相應的功能。 buff[0]=0x01。=0xfe的與led=ledamp。然后打開Class Wizard 在CMFCAPPDlg類中,由于按鍵的單擊屬于通告消息,在object IDs中選擇按鈕的ID號IDC_BUTTON1所以選擇BN_CLICKED,增加函數(shù)在彈出的對話框中添加OnLed0,編輯代碼。完成功能編寫的程序void CMFCAppDlg::OnLed0() { if(ledamp。在MFC AppWizard應用程序向導第1步中,選擇程序類型為對話框類型,之后單擊確定按鈕,彈出新建工程信息窗口,如果檢查完全正確后,單擊確定按鈕生成應用程序所需的全部文件?!”菊滦〗YDriverStudio軟件可以快速地產生一個驅動程序。然后點擊“Next”按鈕。在這里可以找到要識別的USB實驗板,可以點擊select來選擇這個硬件。由于USB設備驅動程序是WDM類型的,所以選擇第一項,并在下邊選擇Driverworks C++語言框架點擊按鈕“Next”。另外,DriverWizard還能生成專為特殊設備定制的代碼,比如:USB設備,PCI設備,即插即用設備,ISA設備,等等。USB設備與PC機之間的通信,除了讀寫數(shù)據外還有很多種類型,但讀寫數(shù)據是最基本的。握手包用來報告數(shù)據事務的狀態(tài),能表示數(shù)據成功接受,命令的接受或拒絕,流控制和終止條件。PID包指定了包是輸入輸出還是建立類型,對于輸出和建立事務,地址和端點字段唯一確定了哪個設備和端點接受數(shù)據包。USBD的一類特殊客戶即:集線器驅動器擁有這些狀態(tài)改變通道,接收這些狀態(tài)的改變。在有些操作系統(tǒng)中,提供了額外的非USB系統(tǒng)軟件以支持設備的配置及設備驅動程序的加載。USB驅動提供了基本的面向客戶的主機界面。由于主機在USB系統(tǒng)中的特殊性,USB主機上的總線接口還必須具備主機控制器的功能(Host Controller),主機控制器具有一個內集成的集線器(根集線器)提供與USB電纜的連接。主機上垂直的箭頭是實際的信息流。在狀態(tài)轉換結束后,設備有2ms的SetAddress()恢復時間。這些域用來標識一個設備的功能及用于通信的協(xié)議。一個接口是一組端結點集合,它們代表了設備向主機提供的單一的功能或特性,用來與這組相關端結點通信的協(xié)議以及接口內各端結點的目的可以作為一個設備類的一部分或者由廠商制定具體定義。提供連接點或端口的集線器應當負責匯報端口的狀態(tài)改變情況。(5)主機給設備分配一個唯一的地址,設備轉向編址狀態(tài)。當設備復位時,遠程喚醒能力必須被禁止。所有的設備在一段特定的時間內探測不到總線活動時必須進入中止態(tài)。(3)缺省狀態(tài)設備加電以后,在它從總線接收到復位信號之前不應對總線傳輸發(fā)生響應。有一些支持其中的一種,而另一些設備配置可能只有在自給電源下才能被使用。USB設備可被劃分三層:(1)底層是傳送和接收數(shù)據包的總線接口;(2)中間層處理總線接口與不同端點之間的數(shù)據路由端節(jié)點是數(shù)據的終結提供處或使用處,它可被看作數(shù)據源或數(shù)據接收端(Sink);(3)最上層的功能由串行總線設備提供,比如鼠標,或ISDN接口。通過此控制通道,所有的USB設備都列入一個共同的準入機制,以獲得控制操作的信息。USB的體系要保證緩沖引導的硬件的延遲限定在幾毫秒內。不可避免的信號延遲與每個端口的可用緩沖區(qū)數(shù)有關。在硬件級上可使用錯誤檢測可以保證可靠的數(shù)據傳輸,并在硬件級上引入了數(shù)據的多次傳送。總的來說,各通道之間的數(shù)據流動是相互獨立的。如果安裝的USB設備是集線器,并且USB設備連在其端口上,上述過程對每個USB設備的安裝都要做一遍。事務預處理允許對一些數(shù)據流的通道進行控制,從而在硬件級上防止了對緩沖區(qū)的高估或低估,通過發(fā)送不確認握手信號從而阻塞了數(shù)據的傳輸速度。數(shù)據傳輸方向不是從主機到設備就是從設備到主機。而且,集線器也可由與之相連的USB設備提供電源。重要的終端設備應位于電纜的尾部。流的數(shù)據不像消息的數(shù)據,它沒有USB所定義的結構,而且通道與數(shù)據帶寬、傳送服務類型,端口特性(如方向和緩沖區(qū)大小)有關。每一總線執(zhí)行動作最多傳送三個數(shù)據包。軟件體系通過對各種主機控制器提供支持以保證將來對USB的擴充[3]?!☆A期結果通過上位機軟件和驅動程序的編寫實現(xiàn)以下功能:完成上位機軟件的編寫,并可以在設備沒有連接時顯示連接錯誤。因為總體上,MFC框架定義了應用程序的輪廓,并提供了用戶接口的標準實現(xiàn)方法,要做的就是通過預定義的接口把具體應用程序特有的東西填入這個輪廓。在技術方面,這種設計容易產生I/O沖突,中斷不夠用,以及對于每一種新的外設都必須設計新的接口卡等缺點。它是為了解決日益增加的PC外設與有限的主板插槽和端口之間的矛盾而制定的一種串行通信標準?!SB驅動程序的意義如果PC主機不知道如何與USB外設通信,那么這個USB外設一點用處都沒有,人機接口設備(HID)[2]類是Windows完全支持的USB設備類型中的一種,應用程序可以使用操作系統(tǒng)內設置的驅動與HID通信,但與HID通信不像打開一個端口,設定幾個參數(shù),然后就可以讀寫數(shù)據那么簡單,在應用程序能與HID交換數(shù)據之前,它先要找到設備,獲取有關它的報告信息。一個好的應用程序首先要有好的用戶界面,看起來賞心悅目,使用起來簡單、方便。實現(xiàn)雙向傳輸。USB系統(tǒng)的描述:一個USB系統(tǒng)主要被定義為三個部分:USB的互連、USB的設備、USB的主機。數(shù)據傳輸方向不是從主機到設備就是從設備到主機。存在兩種數(shù)據傳輸率: USB物理接口(1)USB的高速信號的比特率定為12Mbps;(2);電纜中包括VBUS、GND二條線,向設備提供電源。每個USB單元通過電纜只能提供有限的能源。USB的系統(tǒng)軟件可以與主機的能源管理系統(tǒng)結合共同處理各種電子元件如掛起、喚醒,并且有特色的是,USB設備應用特有的電源管理特性,可讓系統(tǒng)軟件和控制其電源管理。發(fā)送端和接收端之間的USB數(shù)據傳輸,在主機和設備的端口之間,可視為一個通道。USB設備的安裝所有的USB設備都是通過端口接在USB上,網絡集線器知道這些指定的USB設備,集線器有一個狀態(tài)指示器指明在其某個端口上,USB設備是否被安裝或拆除了,主機將所有的集線器排成隊列以取回其狀態(tài)指示。USB的系統(tǒng)軟件將準確進行處理,如果去除的USB設備上集線器,USB的系統(tǒng)軟件將對集線器反連在其上的所有設備進行處理。USB的結構包含四種基本的數(shù)據傳輸類型:(1)控制數(shù)據傳送:在設備連接時用來對設備進行設置,還可對指定設備進行控制,如通道控制;(2)批量數(shù)據傳送:大批量產生并使用的數(shù)據,在傳輸約束下,具有很廣的動態(tài)范圍;(3)中斷數(shù)據的傳送:用來描述或匹配人的感覺或對特征反應的回饋。這種數(shù)據可由設備在任何時刻發(fā)送,并且以不慢于設備指定的速度在USB上傳送。實時的傳送同步數(shù)據肯定會發(fā)生潛在瞬時的數(shù)據流丟失現(xiàn)象,換句話說,即使許多硬件機制,如重傳的引入也不能避免錯誤的產生。 USB設備USB設備分為諸如集線器、分配器或文本設備等種類。(2)類別信息:此類信息給出了不同USB的設備類的定義,主要反映其不同點。(2)加電狀態(tài)USB設備的電源可來自外部電源,也可從USB接口的集線器而來。設備可在任何時候改變它們的供電來源,比如說:從自給式向總線式改變,如果一個配置同時支持兩種模式,那此狀態(tài)的最大電源需求就是指設備在兩種模式下從VBUS上獲取電能的最大值。每一設備在連接或復位后由主機分配一個唯一的地址。另外,USB設備必須在所連接的集線器端口失效時進入中止態(tài)。(2)主機通過尋問集線器決定此次狀態(tài)改變的確切含義。(7)主機從設備讀取配置信息要從配置0讀到配置n1,其中n為配置個數(shù),此操
點擊復制文檔內容
語文相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1