新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > USB字符串描述符

        USB字符串描述符

        作者: 時間:2016-12-12 來源:網絡 收藏
        USB中,字符串描述符是可選的,也就是屬于可有可無的角色,USB并沒有強制規定必須有,但是一般產品是有的,至少能說明生產廠家、產品信息等等,要不然這個產品看誰還敢用。

        本文引用地址:http://www.104case.com/article/201612/328945.htm

        如果設備沒有字符串描述符,那么在設備描述符、配置描述符、接口描述符等處的字符串索引值必須為0,要不然在枚舉過程中,USB主機會嘗試去獲取字符串描述符,而剛好你又沒有,那么枚舉就會失敗,所以必須指定為0。

        字符串描述符使用UNICODE編碼,可以支持多種語言,所以字符串描述符首先要指定語言ID,語言ID代碼可以參考這個網站:http://www.usb.org/developers/docs/USB_LANGIDs.pdf,例如:簡體中文的ID值為0x0804,美式英語ID值為0x0409。

        語言ID字符串描述符結構定義如下:

        在枚舉過程中,USB主機會向USB設備發送GET_DESCRIPTOR請求,同時wValue字段高字節為描述符類型,字符串描述符的類型為0x03,低字節為字符串描述符索引值,對于語言ID的索引為0,其它字符串描述符索引由設備描述符指定,wIndex字段為語言ID。

        字符串描述符結構定義如下:

        bLength為描述符長度,bDescriptorType為描述符類型,字符編碼統一采用UNICODE編碼,UNICODE采用兩個字節字節表示一個字符,如果是英語字符的話,那就很簡單了,直接在ASCII碼前面補上一個為0x00的字節數據就組成UNICODE編碼了,如果是其它語言的話,網上有很多的UNICODE編碼轉換工具,可以直接拿來使用就行了。

        最后補上我的USB鼠標字符串描述符信息。

        語言ID信息:

        廠商字符串描述符如下:

        我在Virtual Box中捕獲的信息,所以廠商字符串為VirtualBox。

        產品字符串描述符信息如下:



        關鍵詞: USB字符串描述

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 甘孜| 双牌县| 乌拉特后旗| 诸暨市| 塔河县| 泽州县| 沛县| 策勒县| 新平| 建平县| 宁乡县| 许昌县| 平南县| 东乡县| 宾阳县| 建瓯市| 朝阳县| 平陆县| 永清县| 泸西县| 涟源市| 梨树县| 都匀市| 沅陵县| 额尔古纳市| 西乡县| 乐山市| 馆陶县| 津市市| 罗城| 曲阜市| 五寨县| 大悟县| 灵武市| 诸暨市| 田东县| 安多县| 宝鸡市| 岳普湖县| 阿拉善左旗| 临颍县|