生活随笔
收集整理的這篇文章主要介紹了
HID设备描述符
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
HID 設備除了支持 USB 設備的 5 種標準描述符之外,還支持 HID 設備特有的 3 種描
述符。這些描述符是:
USB 標準描述符:設備、配置、接口、端點和字符串描述符。
HID 特有的描述符:HID、報表(Report)和實體(Physical)描述符。(基本不用,至少我沒遇到需要描述實體描述符的)
從描述符的關聯(lián)關系看,HID 描述符是關聯(lián)于接口。所以如果一個 HID 設備有 2 個端點,設備不需要每個端點有一個 HID 描述符。 從前面的 USB 描述符可以看出一個規(guī)律,描述符的第一、二字節(jié)分別是描述符的長度和類型,描述符的類型字段(bDescriptorType)表明描述符的種類,下表列出了不同描述符的類型字段數(shù)值。 對于一個 HID 設備,設備描述符與配置描述符沒有 HID 特定的信息。其設備描述符的bDeviceClass 和 bDeviceSubClass 字段的值為 0,接口描述符的 bInterfaceClass 字段值為 03,表示設備的該接口是 HID 類別。在接口描述符中其他包含 HID 特定信息的字段還有子類別碼(blnterfaceSubClass)與協(xié)議碼(blnterfaceProtocol 字段)。在接口描述符中子類別碼字段等于 1 表示此設備支持啟動接口(Boot Interface)。如果設備有啟動接口,即便主機的 HID 沒有加載驅動程序,設備也可以使用。這種情形可能發(fā)生在計算機是由 DOS 直接啟動,在啟動時觀看系統(tǒng)設置畫面或使用 Windows 的安全模式時。含有啟動接口的鍵盤或鼠標可以使用 BIOS 或許多主機支持的默認簡單協(xié)議。HID 規(guī)范定義了鍵盤與鼠標的啟動接口協(xié)議。如果設備沒有啟動接口,并且接口描述符中協(xié)議碼字段是 1,表示設備支持鍵盤接口,協(xié)議碼字段是 2,表示支持鼠標接口。接口描述符中協(xié)議碼字段是 0,表示設備不支持啟動協(xié)議。在 HID Usage Tables 規(guī)范中定義了鍵盤與鼠標的啟動描述符(Boot Descriptor)。BIOS 不需要從設備中讀取描述符,因為它知道啟動協(xié)議,并且假設設備支持啟動協(xié)議。所以要啟動的設備不需要在固件內(nèi)包含啟動接口描述符,它只要在主機尚未要求在報表描述符中的定義協(xié)議時支持啟動協(xié)議即可。在操作系統(tǒng)加載 HlD 驅動程序后會使用Set_Protocol 請求,將設備由啟動協(xié)議轉換成報表協(xié)議。
總結
以上是生活随笔為你收集整理的HID设备描述符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。