


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、USB的HID通信協(xié)議3 數(shù)據(jù)字段在USB包中,數(shù)據(jù)字段是用來攜帶主機與設(shè)備之間要傳遞的信息,其內(nèi)容和長度根據(jù)包標(biāo) 識符、傳輸類型的不同而各不相同。并非所有的USB包都必須有數(shù)據(jù)字段,例如握手包、專用包和SOF令牌包就沒有數(shù)據(jù)字段。在USB包中,數(shù)據(jù)字段可以包含設(shè)備地址、端點號、幀序列號以及數(shù)據(jù)等內(nèi)容。在總線傳輸中,總是首先傳輸字節(jié)的最低位,最后傳輸字 節(jié)的最高位。(1)設(shè)備地址(ADDR )數(shù)據(jù)域ADDR數(shù)據(jù)域由7位組成,可用來尋址多達(dá) 127個外圍設(shè)備。端點(ENDP )數(shù)據(jù)域ENDP數(shù)據(jù)域由4位組成。通過這4個位最多可尋址出 32個端點。這個ENDP數(shù)據(jù)域僅用 在IN、OUT與SETUP
2、令牌信息包中。對于慢速設(shè)備可支持端點 0以及端點1作為中斷傳 輸模式,而全速設(shè)備則可以擁有 16個輸入端點(IN )與16個輸出端點(OUT)共32個 端點。幀序列號當(dāng)USB令牌包的PID為SOF時,其數(shù)據(jù)字段必須為 11位的幀序列號。幀序列號由主機產(chǎn) 生,且每個數(shù)據(jù)幀自動加一,最大數(shù)值為0X7FF。當(dāng)幀序列號達(dá)到最大數(shù)時將自動從0開始循環(huán)。數(shù)據(jù)它僅存于DATA信息包內(nèi),根據(jù)不同的傳輸類型,擁有不同的字節(jié)大小,從0到1023字節(jié)(實時傳輸)。4 .循環(huán)冗余校驗(CRC )字段根據(jù)不同的信息包類型,CRC數(shù)據(jù)域由不同數(shù)目的位所組成。其中重要的數(shù)據(jù)信息包采用CRC16的數(shù)據(jù)域(16個位),而其余的
3、信息包類型則采用CRC5的數(shù)據(jù)域(5個位)。其中的循環(huán)冗余碼校驗 CRC,是一種錯誤檢測技術(shù)。由于數(shù)據(jù)在傳輸時,有時候會發(fā)生錯 誤,因此CRC可根據(jù)數(shù)據(jù)算出一個校驗值,然后依此判斷數(shù)據(jù)的正確性。5 .包結(jié)尾(EOP )字段包的發(fā)送方在包的結(jié)尾發(fā)出包結(jié)尾信號。它表現(xiàn)為差分線路的兩根數(shù)據(jù)線保持2比特低位時間和1比特空閑位時間。USB主機根據(jù)EOP判斷數(shù)據(jù)包的結(jié)束。16.4.2 信息包格式根據(jù)信息包所實現(xiàn)的功能,其可以分為3種類型:令牌包、數(shù)據(jù)包和握手包。其中,令牌包定義了數(shù)據(jù)傳輸?shù)念愋?,?shù)據(jù)包中含有需要傳輸?shù)臄?shù)據(jù),握手包指明了數(shù)據(jù)接收是否成 功。1 .令牌(token )包在USB系統(tǒng)中,只有主機
4、才能發(fā)出令牌包。令牌包定義了數(shù)據(jù)傳輸?shù)念愋?,它是事?wù)處理 的第一階段。令牌包格式如下:8位8位7位4位5位SYNC PIDADDR ENDP CRC5令牌包中較為重要的是 SETUP、IN和OUT這三個令牌包。它們用來在根集線器和設(shè)備端 點之間建立數(shù)據(jù)傳輸。一個IN包用來建立一個從設(shè)備到根集線器的數(shù)據(jù)傳送,一個OUT包用來建立從根集線器到設(shè)備的數(shù)據(jù)傳輸。IN包和OUT包可以對任何設(shè)備上的任何端點編址。一個SETUP包是一個OUT包的特殊情形,它是 高優(yōu)先級的”,也就是說設(shè)備必須 接受它,即使設(shè)備正在進(jìn)行數(shù)據(jù)傳輸操作的過程中也要對其進(jìn)行響應(yīng)。SETUP包總是指向端點0的。2 .數(shù)據(jù)(data )
5、包一個數(shù)據(jù)信息包包含了 4個數(shù)據(jù)域:SYNC、PID、DATA與CRC16。在這里要注意的是 DATA數(shù)據(jù)域內(nèi)所放置的位值,需根據(jù)USB設(shè)備的傳輸速度(慢速、高速與全速)以及傳輸類型(中斷傳輸、批量傳輸、等時傳輸)而定,且須以8字節(jié)為基本單位。也就是,若傳輸?shù)臄?shù)據(jù)不足8字節(jié),或傳輸?shù)阶詈笏S嗟囊膊蛔?字節(jié),仍須傳輸8字節(jié)的數(shù)據(jù)域。格式如下:8位8位01023字節(jié)16位SYNC PIDDATA CRC163 .握手(Handshake )包握手信息包是最簡單的信息包類型。在這個握手信息包中僅包含一個PID數(shù)據(jù)域而已,它的格式如下所列:8位8位SYNC PID其中僅包含SYNC與PID兩個數(shù)據(jù)域
6、。16.4.3 事務(wù)在USB上數(shù)據(jù)信息的一次接收或發(fā)送的處理過程稱為事務(wù)處理(Transaction )。事務(wù)處理的類型包括輸入(IN)事務(wù)處理、輸出(OUT)事務(wù)處理、設(shè)置(SETUP)事務(wù)處理和幀開始、幀 結(jié)尾等類型。在輸出(OUT)事務(wù)處理和設(shè)置(SETUP)事務(wù)處理中,緊接著 SETUP和OUT包 后的是DATA包,DATA0和DATA1包是交替地發(fā)送的,在 DATA包后面,設(shè)備將回應(yīng)一 個握手信號,如果設(shè)備可以接收數(shù)據(jù),就回應(yīng)ACK包,如果設(shè)備忙,就回應(yīng) NAK包,女口果設(shè)備出錯,則回應(yīng) STALL包;在IN事務(wù)中,IN包后面是設(shè)備發(fā)來的 DATA包或NAK包 或STALL包,若設(shè)備
7、忙或出錯,就發(fā)NAK包或STALL包給主機,若設(shè)備數(shù)據(jù)準(zhǔn)備好發(fā)送,則發(fā)DATA包,DATA0和DATA1包也是交替地發(fā)送的,緊接著DATA包后面是主機發(fā)給設(shè)備的握手包, ACK表示主機可以接收數(shù)據(jù),NAK包代表主機忙,STALL包代表主機出錯。下面我們再分別介紹這些事務(wù)。1 .輸入(IN )事務(wù)處理輸入事務(wù)處理表示 USB主機從總線上的某個 USB設(shè)備接收一個數(shù)據(jù)包的過程,接下來分析 輸入事務(wù)處理的各種典型情況:(1) 正常的輸入事務(wù)處理1 .主機-> 設(shè)備(令牌信息包)SYNC IN ADDR ENDP CRC52 .設(shè)備-> 主機(數(shù)據(jù)信息包)SYNC DATA0 DATA C
8、RC163 .主機-> 設(shè)備(握手信息包)SYNC ACK(2)設(shè)備忙時的輸入事務(wù)處理1 .主機-> 設(shè)備(令牌信息包)SYNC IN ADDR ENDP CRC52 .設(shè)備-> 主機(握手信息包)SYNC NAK(3)設(shè)備出錯時的輸入事務(wù)處理1 .主機-> 設(shè)備(令牌信息包)SYNC IN ADDR ENDP CRC52 .設(shè)備-> 主機(握手信息包)SYNC STALL2 .輸出(OUT )事務(wù)處理(1)正常的輸出事務(wù)處理1 .主機-> 設(shè)備(令牌信息包)SYNC OUT ADDR ENDP CRC52 .主機-> 設(shè)備(數(shù)據(jù)信息包)SYNC DA
9、TA0 DATA CRC163 .設(shè)備-> 主機(握手信息包)SYNC ACK(2)設(shè)備忙時的輸出事務(wù)處理1 .主機-> 設(shè)備(令牌信息包)SYNC OUT ADDR ENDP CRC52 .主機-> 設(shè)備(數(shù)據(jù)信息包)SYNC DATA0 DATA CRC163 .設(shè)備-> 主機(握手信息包)SYNC NAK(3)設(shè)備出錯時的輸出事務(wù)處理1 .主機-> 設(shè)備(令牌信息包)SYNC OUT ADDR ENDP CRC52 .主機-> 設(shè)備(數(shù)據(jù)信息包)SYNC DATA0 DATA CRC163 .設(shè)備-> 主機(握手信息包)SYNC STALL3 .
10、設(shè)置(SETUP )事務(wù)處理(1)正常的設(shè)置事務(wù)處理1.主機-> 設(shè)備(令牌信息包)SYNC SETUP ADDR ENDP CRC52 .主機-> 設(shè)備(數(shù)據(jù)信息包)SYNC DATA0 DATA CRC163 .設(shè)備-> 主機(握手信息包)SYNC ACK(2)設(shè)備忙時的設(shè)置事務(wù)處理1.主機-> 設(shè)備(令牌信息包)SYNC SETUP ADDR ENDP CRC52 .主機-> 設(shè)備(數(shù)據(jù)信息包)SYNC DATA0 DATA CRC163 .設(shè)備-> 主機(握手信息包)SYNC NAK(3)設(shè)備出錯時的設(shè)置事務(wù)處理1.主機-> 設(shè)備(令牌信息包)
11、SYNC SETUP ADDR ENDP CRC52 .主機-> 設(shè)備(數(shù)據(jù)信息包)SYNC DATA0 DATA CRC163 .設(shè)備-> 主機(握手信息包)SYNC STALL 1644 USB 傳輸類型 在USB的傳輸中,制定了 4種傳輸類型:控制傳輸、中斷傳輸、批量傳輸以及實時傳輸。 這里只詳細(xì)介紹控制傳輸,其他傳輸類型只作簡要說明。1 .控制傳輸控制傳輸是USB傳輸中最重要的傳輸,唯有正確地執(zhí)行完控制傳輸,才能進(jìn)一步正確地執(zhí) 行其他傳輸模式。由于每個USB設(shè)備可能速度、傳輸?shù)陌拇笮〉刃畔⒂锌赡懿煌?,因此每個USB設(shè)備內(nèi)部都記錄著該設(shè)備的一些信息(也就是接下來將要介紹的設(shè)
12、備描述符),當(dāng)在主機上檢測到USB設(shè)備時,系統(tǒng)軟件必須讀取設(shè)備描述符,以確定該設(shè)備的類型和操作特性,以及對該 設(shè)備進(jìn)行相應(yīng)的配置,這些工作都是通過控制傳輸來完成。每個USB設(shè)備都必須實現(xiàn)一個缺省的控制端點,該端點總是0號端點??刂苽鬏旑愋头譃?23個階段:設(shè)置階段、數(shù)據(jù)階段(無數(shù)據(jù)控制沒有此階段)以及狀 態(tài)階段。根據(jù)數(shù)據(jù)階段的數(shù)據(jù)傳輸?shù)姆较颍刂苽鬏斢挚煞譃?種類型:控制讀?。ㄗx取USB描述符)、控制寫入(配置 USB設(shè)備)以及無數(shù)據(jù)控制。以下介紹各階段的工作。階段一:設(shè)置階段USB設(shè)備在正常使用之前,必須先配置,本階段由主機將信息傳送給USB設(shè)備,定義對USB設(shè)備的請求信息(如:讀設(shè)備描述符
13、)。主機一般會從USB設(shè)備獲取配置信息后再確定此設(shè)備有哪些功能。作為配置的一部分,主機會設(shè)置設(shè)備的配置值。我們統(tǒng)稱這一階段 為設(shè)置階段。設(shè)置階段由設(shè)置事務(wù)完成,也就是該階段包含了SETUP令牌信息包、緊隨其后的 DATA0數(shù)據(jù)信息包(該信息包里的數(shù)據(jù)即為設(shè)備請求,本章將后續(xù)介紹)以及ACK握手信息包。它的作用是執(zhí)行一個設(shè)置的數(shù)據(jù)交換,并定義此控制傳輸?shù)膬?nèi)容。階段二:數(shù)據(jù)傳輸階段數(shù)據(jù)傳輸階段是用來傳輸主機與設(shè)備之間的數(shù)據(jù)??刂谱x取是將數(shù)據(jù)從設(shè)備讀到主機上,讀取的數(shù)據(jù)USB設(shè)備描述符。該過程如圖 16-8所示。對每一個數(shù)據(jù)信息包而言,首先,主機會發(fā)送一個IN令牌信息包,表示要讀數(shù)據(jù)進(jìn)來。然后,設(shè)備
14、將數(shù)據(jù)通過DATA1數(shù)據(jù)信息包回傳給主機。最后,主機將以下列的方式加以響應(yīng):當(dāng)數(shù)據(jù)已經(jīng)正確接收時,主機送出ACK令牌信息包;當(dāng)主機正在忙碌時,發(fā)出NAK握手信息包;當(dāng)發(fā)生了錯誤時,主機發(fā)出STALL握手信息包。USB設(shè)備的配置信息,該過程控制寫入則是將數(shù)據(jù)從主機傳到設(shè)備上,所傳的數(shù)據(jù)即為對如圖16-9所示。對每一個數(shù)據(jù)信息包而言,主機將會送出一個OUT令牌信息包,表示數(shù)據(jù)要送出去。緊接著,主機將數(shù)據(jù)通過DATA0數(shù)據(jù)信息包傳遞至設(shè)備。最后,設(shè)備將以下列方式加以響應(yīng):當(dāng)數(shù)據(jù)已經(jīng)正確接收時,設(shè)備送出ACK令牌信息包;當(dāng)設(shè)備正在忙碌時,設(shè)備發(fā)出NAK握手信息包;當(dāng)發(fā)生了錯誤時,設(shè)備發(fā)出STALL握手
15、信息包。階段三:狀態(tài)階段狀態(tài)階段用來表示整個傳輸?shù)倪^程已經(jīng)完全結(jié)束了。請注意,狀態(tài)階段傳輸?shù)姆较虮仨毰c 數(shù)據(jù)階段的方向相反。即原來是IN令牌信息包,這個階段應(yīng)為OUT令牌信息包;反之,原來是OUT令牌信息包,這個階段應(yīng)為IN令牌信息包。對于控制讀取而言,主機會送出OUT令牌信息包,其后再跟著 0長度的DATA1信息包。而此時,設(shè)備也會做出相對應(yīng)的 動作,送ACK握手信息包、NAK握手信息包或STALL握手信息包。相對地對于控制寫入傳 輸,主機會送出IN令牌信息包,然后設(shè)備送出表示完成狀態(tài)階段的0長度的DATA1信息包,主機再做出相對應(yīng)的動作:送ACK握手信息包、NAK握手信息包或 STALL握
16、手信息包。2 .實時傳輸實時傳輸適用于必須以固定速率抵達(dá)或在指定時刻抵達(dá),可以容忍偶爾錯誤的數(shù)據(jù)上。實 時傳輸一般用于麥克風(fēng)、喇叭等設(shè)備。實時傳輸只需令牌與數(shù)據(jù)兩個信息包階段,沒有握手包,故數(shù)據(jù)傳錯時不會重傳。3 .批量傳輸用于傳輸大量數(shù)據(jù),要求傳輸不能出錯,但對時間沒有要求,適用于打印機、存儲設(shè)備4 .中斷傳輸中斷傳輸方式總是用于對設(shè)備的查詢,以確定是否有數(shù)據(jù)需要傳輸。因此中斷傳輸?shù)姆较?總是從USB設(shè)備到主機。16.4.5設(shè)備列舉1 描述符USB描述符就好像是 USB外圍設(shè)備的 身份證”一樣,詳細(xì)地記錄著外圍設(shè)備相關(guān)的一切信 息。為了描述不同的數(shù)據(jù),就需以不同類型的USB描述符來加以描述,
17、它共有以下幾種類型:設(shè)備描述符、配置描述符、接口描述符和端點描述符,這幾個描述符是必須具有的, 下面將結(jié)合實例詳細(xì)介紹;其他的描述符,例如,字符串描述符、數(shù)種不同的群組描述符 以及報告描述符則可以根據(jù)不同的設(shè)備進(jìn)行選擇。(1)設(shè)備描述符設(shè)備描述符具有18字節(jié)的長度,并且是主機向設(shè)備請求的第一個描述符。以下列出設(shè)備 描述符的范例、數(shù)值以及各個字段的意義:DeviceDesc:;表示設(shè)備描述符.byte $12 ; bLength 域,表示該描述符的字節(jié)長度為18個字節(jié).byte $01 ; bDescriptorType域描述符類型,1代表設(shè)備.byte $10,$01 ; bcdUSB 域表示
18、符合 USB 1.10 規(guī)范,$210 代表 2.10 規(guī)范.byte $00 ; bDeviceClass 域,群組碼,0表示每個接口都有自身的群信息,;不同的接口操作相互獨立.byte $00 ; bDeviceSubClass域,設(shè)備次群組(如果群組碼為0 ,設(shè)備次群組必須為 0).byte $00 ; bDeviceProtocol.byte $08 ; bMaxPacketSize0域,設(shè)備協(xié)議(0表示無群組特定協(xié)議)域,端點0的最大信息包大?。ㄖ荒転?、 16、 32 或 64).byte $70,$0C ; idVe ndor.byte $00,$00 ; idProduct.b
19、yte $00,$01 ; bcdDevice域,制造商ID( 2字節(jié))域,產(chǎn)品ID( 2字節(jié))域,以BCD表示設(shè)備發(fā)行序號2字節(jié)).byte $01 ; iMan ufacturer域,制造商的字符串描述符索引(1字節(jié)),本實例中指;String1Desc處的字符串描述符.byte $02 ; iProduct域,產(chǎn)品的字符串描述符索引(1字節(jié)),本實例中指;String2Desc處的字符串描述符.byte $00 ; iSerialNumber域,設(shè)備序號的字符串描述符索引(1字節(jié)), ;本實例中指String0Desc處的字符串描述符.byte $01 ; bNumCo nfigurat
20、i ons域,配置數(shù)目為 1 (2)配置描述符配置描述符具有 9字節(jié)的長度,針對設(shè)備給予配置的信息。以下列出配置描述符的范例、 數(shù)值以及各個字段的意義:ConfigDesc:;表示配置描述符.byte $09 ; bLength 域,表示該描述符的字節(jié)長度為 9個字節(jié)(1字節(jié)).byte $02 ; bDescriptorType 域,描述符類型,2代表配置(1字節(jié)).byte $20,$00 ; wTotalLength域,描述符的總長度為 32個字節(jié),(包括配置描述符;9字節(jié),接口描述符 9字節(jié),兩個端點描述符各7字節(jié)).byte $01 ; bNuml nterfaces域,該配置支持的
21、接口數(shù)目(1字節(jié)).byte $01 ; bConfigurationValue域,配置值,作為 Set Configuration 請求的配置值.byte $00 ; iCo nfiguratio n域,配置的字符串描述符的索引(1字節(jié)).byte $C0 ; bmAttributes 域,配置的屬性(自供電,不具有遠(yuǎn)程喚醒的特征).byte $00 ; MaxPower 域,表示當(dāng) USB設(shè)備操作時,它從總線上;獲得的最大電源(以2mA為單位)接口描述符接口描述符具有9字節(jié)的長度,用來描述每一個設(shè)備的接口特性。以下列出接口描述符的 范例、數(shù)值以及各個字段的意義:In terfaceDesc
22、:;表示接口描述符.byte $09 ; bLength域,表示該描述符的字節(jié)長度為9個字節(jié).byte $04 ; bDescriptorType 域,描述符類型,4 代表接口.byte $00 ; blnterfaceNumber 域,接口數(shù)目以 0為基值(表示一個接口).byte $00 ; bAlternateSetting域,交互設(shè)置值為 0 (因為只有一個接口).byte $02 ; bNumE ndpoi nts域,端點數(shù)目設(shè)置為2.byte $FF ; bl nterfaceClass域,接口群組,$FF表示是供應(yīng)商說明書.byte $01 ; bl nterfaceSubCla
23、ss域,接口次群組.byte $FF ; blnterfaceProtocol域,接口協(xié)議,$FF 表示該接口使用的;是供應(yīng)商說明的協(xié)議.byte $00 ; iln terface 域,接口的字符串描述符的索引,本實例沒有(4) 端點描述符端點描述符具有7字節(jié)長度,用來描述端點的屬性以及各個端點的位置。該實例中有兩個 端點,我們首先介紹端點1描述符:EndpointIDesc:;表示端點1描述符.byte $07 ; bLength域,表示該描述符的字節(jié)長度為7個字節(jié).byte $05 ; bDescriptorType 域,描述符類型,5代表端點.byte $81 ; bEndpointA
24、ddress域,端點地址(0x81 = IN,0x02=OUT),;本實例端點編號為1且為IN端點.byte $03 ; bmAttributes域,傳輸類型的屬性設(shè)置為中斷傳輸;(0 =控制,1 =實時,2 =批量,3=中斷).byte $08,$00 ; wMaxPacketSize域,最大信息包的大小設(shè)置為8個字節(jié).byte $0A ; bInterval 域,輪詢間隔,以 ms為單位,在此設(shè)置為 10ms接下來介紹端點2描述符:Endpoint2Desc:;表示端點2描述符.byte $07 ; bLength域,表示該描述符的字節(jié)長度為7個字節(jié).byte $05 ; bDescrip
25、torType 域,描述符類型,5代表端點.byte $02 ; bEndpointAddress域,端點地址(0x81 = IN,0x02=OUT),;本實例端點編號為 2且為OUT端點.byte $03 ; bmAttributes域,傳輸類型的屬性設(shè)置為中斷傳輸;(0 =控制,1 =實時,2 =批量,3=中斷).byte $08,$00 ; wMaxPacketSize域,最大信息包的大小設(shè)置為8個字節(jié).byte $0A ; bInterval 域,輪詢間隔,以 ms為單位,在此設(shè)置為 10ms2 . USB設(shè)備請求在USB接口的通信協(xié)議中,由于主機是取得絕對的主控權(quán),因此,主機與設(shè)備之
26、間就必須 遵循某種已溝通的特定命令格式,以達(dá)到通信的目的。而這個命令格式就是USB規(guī)范書中所制定的 設(shè)備請求”。這個設(shè)備請求的設(shè)置、清除與取得都須通過控制傳輸?shù)臄?shù)據(jù)交換來 完成。表16-3中列出了標(biāo)準(zhǔn)設(shè)備請求的數(shù)據(jù)格式內(nèi)容。表16-3各字段含義解釋如下。bmRequestType域決定了特定請求的特征,該域的 D7表示在控制傳輸?shù)臄?shù)據(jù)階段, 數(shù)據(jù)傳輸?shù)姆较?。如果wLength的值為0,表示沒有數(shù)據(jù)階段,該位可以忽略;D6:5表示了該請求所屬的類型,USB標(biāo)準(zhǔn)中定義了所有的 USB設(shè)備必須支持的一系列的標(biāo)準(zhǔn)請求,此外,群組和供應(yīng)商也可以定義一些其他的請求;D4:0表示接收端,請求可以針對設(shè)備、接
27、口或設(shè)備的一個端點,當(dāng)針對一個接口或端點時,win dex域決定了是哪個接口或端點。bRequest域表示特定請求,如果 bmRequestType域的類型字段為 0,可以根據(jù) USB 指定的一系列的標(biāo)準(zhǔn)請求,結(jié)合該域的值,知道這是什么請求。將在下面介紹這些請 求。wValue域的值根據(jù)請求的不同而不同,用來傳遞一個參數(shù)給設(shè)備。 windex域的值根據(jù)請求的不同而不同,用來指定一個接口或端點。 wLength域表示控制傳輸?shù)臄?shù)據(jù)階段中傳輸數(shù)據(jù)的字節(jié)大小,數(shù)據(jù)傳輸?shù)姆较蛴?bmRequestType域中的D7位決定,如果該域的值為0,表示沒有數(shù)據(jù)階段。下面結(jié)合實例分別介紹幾個主要的設(shè)備請求。清除
28、特性(Clear Feature)該請求是用來取消一個特性,其格式如下:bmRequestType bRequest wValue win dex wLe ngth Data00000000B(設(shè)備)00000001B(接口)00000010B(端點)CLEAR_FEATURE( 01H) 特性選擇 0接口端點0無該請求中的wValue表示特性選擇器,它對應(yīng)的值為:0 =端點,1=設(shè)備。當(dāng)某個特性不允許取消,或該特性根本不存在,或者是指向一個根本不存在的接口或端點時, 該請求將會導(dǎo)致設(shè)備請求失敗。如果端點被固件設(shè)為停止?fàn)顟B(tài),主機軟件(總線驅(qū)動程序)也可以發(fā)送一個值為0的CLEAR_FEATUR
29、E命令清除該端點的停止?fàn)顟B(tài),本實例中就是這樣使用該請求的。(2)取得描述符(Get Descriptor)該請求可以取得 USB設(shè)備中存在的特定的描述符,其格式如下:bmRequestType bRequest wValue win dex wLe ngth Data10000000B GET_DESCRIPTOR(06H )描述符類型與描述符指針0或語言ID描述符的長度 各個描述符該請求中的wValue的高字節(jié)表示要取得描述符類型,低字節(jié)表示描述符的索引值, 描述的類型有:1表示設(shè)備描述符,2表示配置描述符,3表示字符串描述符,4表示 接口描述符,5表示端點描述符。windex的值為0或語言ID ;當(dāng)要取得描述符是字 符串描述符時,該域的值為語言iD ;當(dāng)為其他的描述符時,該域為0。wLength表示要返回的數(shù)據(jù)長度,如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 60270:2025 EN-FR High-voltage test techniques – Charge-based measurement of partial discharges
- 2025至2030中國電子廢物回收和再利用服務(wù)行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國環(huán)氧大豆油丙烯酸酯低聚物行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國豬肉行業(yè)市場占有率及投資前景評估規(guī)劃報告
- 2025至2030中國特性水泥行業(yè)發(fā)展分析及前景趨勢與投資報告
- 智慧城市服務(wù)體系下市民滿意度提升策略研究
- 在線學(xué)習(xí)環(huán)境下的學(xué)生心理支持策略研究
- 企業(yè)培訓(xùn)中的智慧學(xué)習(xí)空間設(shè)計與體驗優(yōu)化
- 教育政策與教師權(quán)益保障
- 2025年中國乙炔碳黑數(shù)據(jù)監(jiān)測研究報告
- 高空作業(yè)安全操作規(guī)程
- 車輛掛名使用權(quán)轉(zhuǎn)讓與免責(zé)保障協(xié)議
- 湖北省八校聯(lián)考2024-2025學(xué)年高一下學(xué)期6月期末生物試卷(含答案)
- 2025至2030中國碳納米管行業(yè)市場發(fā)展分析及風(fēng)險與對策報告
- 艾滋病患者的心理與護(hù)理
- 2025年中國花生粕市場調(diào)查研究報告
- 2025至2030中國密織防水透氣紡織品行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025-2030年中國鍋爐水處理化學(xué)品行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 高中體育專項化教學(xué)對學(xué)生身心發(fā)展的促進(jìn)作用研究論文
- TD/T 1044-2014生產(chǎn)項目土地復(fù)墾驗收規(guī)程
- 2024北京重點校高一(下)期末數(shù)學(xué)匯編:三角函數(shù)章節(jié)綜合(填空題)
評論
0/150
提交評論