<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > USB協(xié)議深入分析 配置

          USB協(xié)議深入分析 配置

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          前面已經(jīng)介紹設(shè)置USB的設(shè)備地址,接著下來是做什么呢?其實(shí)有了設(shè)備地址后,主控器還會再次發(fā)送獲取上面已經(jīng)讀取的設(shè)備描述符下來,如下:
          80 06 00 01 00 00 12 00
          然后USB設(shè)備也再次回應(yīng)它,但這次發(fā)送的長度是0x0012了,不再是第一次64個(gè)字節(jié)長度了。
          接著USB設(shè)備就返回下面的描述符給主控器,也就是第一次已經(jīng)發(fā)送的設(shè)備描述符,如下:
          12 01 10 01 00 00 00 40 00 80 00 80 00 01 04 2C 4A 01
          這樣分配地址之后,再次獲取設(shè)備描述符成功了,接著下來就是主控器獲取配置描述符。下面就是收到的配置描述符數(shù)據(jù):
          80 06 00 02 00 00 09 00
          分析上面的數(shù)據(jù)如下:
          bmRequestType是80,表示方向USB設(shè)備發(fā)送給主控器,接收設(shè)備是USB設(shè)備。
          bRequest是06,表示這是獲取描述符。GET_DESCRIPTOR 6
          wValue是00 02。低字節(jié)表示偏移地址00,高字節(jié)表示描述符的類型。如下:
          CONFIGURATION2
          所以這里的返回的設(shè)備描述符是配置描述符。
          wIndex是00 00。
          wLength是09 00。它表示返回描述符的長度。這里是9個(gè)字節(jié)。
          接著下來,就是設(shè)備返回配置描述符給主控器,發(fā)送的數(shù)據(jù)如下:
          09 02 22 00 01 01 00 01 32
          發(fā)送的數(shù)據(jù)是按下面的結(jié)構(gòu)來定義,這也是在USB協(xié)議里定義的格式。如下:
          typedefstruct_USB_CONFIGURATION_DESCRIPTOR{
          BYTEbLength;
          BYTEbDescriptorType;
          WORDwTotalLength;
          BYTEbNumInterfaces;
          BYTEbConfigurationValue;
          BYTEiConfiguration;
          BYTEbmAttributes;
          BYTEMaxPower;
          }USB_CONFIGURATION_DESCRIPTOR;
          bLength是配置的長度,也就是配置結(jié)構(gòu)的整個(gè)長度。在這里9個(gè)字節(jié)。
          bDescriptorType是描述符的類型,這里配置描述符,所以設(shè)置為02。
          wTotalLength是所有配置設(shè)置的結(jié)構(gòu)長度。包括配置描述符、接口描述符、HID或者其它描述符和端點(diǎn)描述符的長度。這里是22 00,也就是0x0022個(gè)字節(jié)。
          bNumInterfaces是接口個(gè)數(shù),這里一個(gè)。
          bConfigurationValue是配置的個(gè)數(shù),當(dāng)設(shè)置配置時(shí)發(fā)送的值。這時(shí)設(shè)置為1個(gè)配置。
          iConfiguration是說明配置的字符的偏移值。這里是0。
          bmAttributes是配置特性,D7位保留。D6位是說明是否自供電。D5位是否支持遠(yuǎn)程喚醒。D4—D0是保留,設(shè)置為0。
          MaxPower是使用的功率,它采用電流來表示。每2mA為單位,比如它的值是50時(shí)就表示是100mA的電流消耗。
          通過這樣說明,主控器就知道這個(gè)設(shè)備是什么樣的設(shè)備,有多少功能。


          關(guān)鍵詞: USB協(xié)議配

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();