《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > STM32 USB設計單片機程序篇
STM32 USB設計單片機程序篇
摘要: 當usb設備接入到主機時,主機開始枚舉usb設備,并向usb設備發出指令要求獲取usb設備的相關描述信息,其中包括設備描述(device descriptor)、配置描述(configuration descriptor)、接口描述(interface descriptor)、端點描述(endpoint descriptor)等。這些信息是通過端點0(endpoint 0)傳送到主機的。獲取各種描述信息后,操作系統會為其配置相應的資源。這樣主機就可以與設備之間進行通信了。
Abstract:
Key words :
  首先,我們來看看usb的工作過程。

  當usb設備接入到主機時,主機開始枚舉usb設備,并向usb設備發出指令要求獲取usb設備的相關描述信息,其中包括設備描述(device descriptor)、配置描述(configuration descriptor)、接口描述(interface descriptor)、端點描述(endpoint descriptor)等。這些信息是通過端點0(endpoint 0)傳送到主機的。獲取各種描述信息后,操作系統會為其配置相應的資源。這樣主機就可以與設備之間進行通信了。

  usb通訊有四種通訊方式控制(control)、中斷(interrupt)、批量(bulk)和同步(synchronous)。usb通訊是通過管道(pipe)實現的。管道是一個抽象的概念,指的是主機與設備之間通訊的虛擬鏈路。不如說一個usb通訊 主機A和設備B,其中有bulk in(批量輸入)、bulk out(批量輸出)、control out(控制輸出)三種通訊方式,那么A與B之間的通訊管道就有三個。(這里明確一個概念,在usb通信中數據流向都是相對設備來說的,in表示設備向主 機傳送數據,out表示表示主機箱設備傳輸數據)。在設備一端,每個管道對應一個端點,端點配置相關的寄存器和緩沖區。在通訊之前需對端點進行相關設置。 在通信中,只需向緩沖寫或讀數據,并置位相關比特位即可。

  下面具體從usb的中斷輸入輸出來講述基于keil C mdk開發環境的stm32的USB接口單片機程序設計。值得一提的是,st或相關公司給我們提供許多封裝函數和相關例子,我們可以根據其中的例子并進行修改即可實現我們自己需要的usb通訊程序。

  1.usb描述符配置

  從上面的講述可以看出,usb描述符是usb通訊的前提。主機必須先了解設備后才能與其進行通訊。在st提供的例子中,描述符都在usb_des.c文件進行定義,下面就其中的Joystick例子說明usb描述負的配置。

  1.1設備描述符

  const u8 Joystick_DeviceDescriptor『JOYSTICK_SIZ_DEVICE_DESC』 =

  {

  0x12, /*本描述長度*/

  USB_DEVICE_DESCRIPTOR_TYPE, /*指明為設備描述符*/

  0x00,

  0x02,

  0x00,

  0x00,

  0x00,

  0x40, /*最大數據包大小為64字節(對于端點0而言)*/

  0x84, /*生產商ID*/

  0x19,

  0x06, /*產品ID*/

  0x04,

  0x00,

  0x02,

  1,

  2,

  3,

  0x01 /*配置描述符數目*/

  }

  設備描述符兩個重要參數是生產商ID和產品ID,主機將根據以上兩個ID為設備選擇相應驅動程序。在我們的應用中,我們一般只需修改例子中的這兒兩個參數即可完成設備描述符的設置。

  1.2配置描述符

  const u8 Joystick_ConfigDescriptor『JOYSTICK_SIZ_CONFIG_DESC』 =

  {

  0x09,

  USB_CONFIGURATION_DESCRIPTOR_TYPE,

  JOYSTICK_SIZ_CONFIG_DESC,

  0x00,

  0x01, /*接口數目*/

  0x01, /*Set_Configuration命令所需要的參數值*/

  0x00, /*描述該配置的字符串的索引值*/

  0xE0, /*供電模式的選擇,bus供電、自供電、支持wakeup*/

  0x32, /*最大供電電流*/

  /************** 接口1配置****************/

  0x09,

  USB_INTERFACE_DESCRIPTOR_TYPE,

  0x00, /*接口編號*/

  0x00,

  0x02, /*端點數*/

  0x00,

  0x00,

  0x00,

  0, /*接口描述符索引值*/

  /******************** 端點1輸出描述********************/

  0x07,

  USB_ENDPOINT_DESCRIPTOR_TYPE,

  0x81, /*端點地址,b.7表示方向(1為in,0為out)b.0-b.3為端點標號*/

  0x03, /*端點數據傳輸方式*/

  0x08, /*最大數據包大小*/

  0x00,

  0x20,

  /******************** 端點1輸入描述********************/

  0x07,

  USB_ENDPOINT_DESCRIPTOR_TYPE,

  0x01, /*端點地址*/

  0x03, /*端點數據傳輸方式*/

  0x40, /*最大數據包大小*/

  0x00,

  0x20,

  }

  配置描述符中包括了接口、端點的配置。如果設備為HID設備,在配置描述符中還應加入HID描述,具體描述可以參照Joystick例子的配置。

  還有一些其他配置可以參可相關資料與例子加以理解。


 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久人人97超碰人人澡爱香蕉| 国产精品乱人伦中文| 午夜精品久久99蜜桃的功能介绍| 夜久久久久久| av成人手机在线| 久久久噜噜噜久久久| 亚洲狠狠婷婷| 久久国产免费看| 影音先锋久久精品| 一区二区精品在线| 国产美女精品在线| 欧美成人乱码一区二区三区| 久久久久久亚洲综合影院红桃| 久久精品色图| 欧美日韩在线播放一区二区| 最新中文字幕一区二区三区| 一区二区三区日韩| 亚洲午夜日本在线观看| 久久综合一区二区| 久久亚洲电影| 亚洲电影在线观看| 国产乱码精品一区二区三区五月婷| 性娇小13――14欧美| 久久久人成影片一区二区三区| 欧美私人网站| 亚洲电影有码| 亚洲一区二区在线观看视频| 国内精品模特av私拍在线观看| 一本久久a久久免费精品不卡| 国产精品无码永久免费888| 欧美精品一区二区三区高清aⅴ| 欧美激情一区二区三区| 伊人久久亚洲热| 精品福利免费观看| 国产精品视屏| 国产午夜精品理论片a级大结局| 国产精品久久777777毛茸茸| 蜜臀久久久99精品久久久久久| 性亚洲最疯狂xxxx高清| 老司机免费视频一区二区三区| 亚洲精品一线二线三线无人区| 国产精品天美传媒入口| 欧美制服丝袜第一页| 伊人伊人伊人久久| 久久久国产一区二区| 久久精品二区亚洲w码| 国产乱人伦精品一区二区| 欧美成人四级电影| 欧美刺激午夜性久久久久久久| 欧美日韩在线免费观看| 久久精品国内一区二区三区| 日韩一区二区精品葵司在线| 伊人精品成人久久综合软件| 国产精品视频福利| 午夜在线精品偷拍| 你懂的国产精品永久在线| 亚洲男女自偷自拍图片另类| 国产午夜精品视频免费不卡69堂| 久久久福利视频| 麻豆av福利av久久av| 国产日本欧美一区二区三区在线| 国产精自产拍久久久久久蜜| 国产日韩一区| 久久久久久久久久久一区| 日韩视频国产视频| 国产主播精品| 亚洲美女区一区| 欧美日韩亚洲一区| 国产精品一区二区久久精品| 国产精品成人观看视频免费| 这里只有精品视频在线| 亚洲国产欧美日韩另类综合| 久久综合九色综合网站| 国产精品三级久久久久久电影| 免费影视亚洲| 久久综合一区二区三区| 亚洲蜜桃精久久久久久久| 亚洲在线一区| 亚洲永久精品大片| 国产精品一区二区久久久| 亚洲视频在线观看视频| 一本色道久久综合狠狠躁篇的优点| 欧美专区日韩专区| 欧美一区二区日韩一区二区| 久久精品99国产精品日本| 亚洲自拍偷拍麻豆| 欧美91大片| 亚洲国产你懂的| 久久久久久久久久久久久9999| 久久精品123| 欧美电影资源| 亚洲激情影视| 欧美日韩免费观看一区| 玉米视频成人免费看| 国产日韩av在线播放| 亚洲欧美成人网| 影音先锋亚洲一区| 亚洲国产经典视频| 欧美岛国在线观看| 久久国产手机看片| 国产精品久久久久久妇女6080| 欧美另类在线播放| 亚洲精品日韩欧美| 日韩视频在线观看国产| 亚洲人成在线播放| 国产美女在线精品免费观看| 国内精品一区二区三区| 一本到12不卡视频在线dvd| 一区二区三区波多野结衣在线观看| 欧美激情一区二区三区全黄| 国产一区二区剧情av在线| 最新日韩中文字幕| 欧美亚男人的天堂| 欧美三级日本三级少妇99| 亚洲人成网站在线播| 性欧美大战久久久久久久免费观看| 国产精品视频成人| 亚洲欧美成人一区二区在线电影| 欧美精品成人91久久久久久久| 久久久午夜视频| 性一交一乱一区二区洋洋av| 国产精品一二一区| 亚洲女人av| 国产精品magnet| 国产精品一区二区三区久久| 欧美午夜www高清视频| 亚洲国产精品一区制服丝袜| 久久久午夜精品| 另类综合日韩欧美亚洲| 性欧美大战久久久久久久免费观看| 国产精品少妇自拍| 国产综合亚洲精品一区二| 欧美亚洲免费高清在线观看| 欧美精品在线视频观看| 欧美丰满少妇xxxbbb| 国内成人精品2018免费看| 欧美www视频在线观看| 欧美日韩一区二区三区在线| 在线观看日韩| 国产一区二区三区视频在线观看| 欧美高清视频一区二区三区在线观看| 亚洲成人在线免费| 美日韩在线观看| 悠悠资源网久久精品| 欧美在线影院在线视频| 在线成人小视频| 欧美女同在线视频| 亚洲免费观看高清完整版在线观看熊| 欧美不卡高清| 狠狠色丁香婷婷综合| 亚洲人www| 欧美日韩在线免费观看| 欧美一区二区国产| 夜夜嗨av一区二区三区网站四季av| 国产精品theporn88| 亚洲国产美女| 一区二区三区在线观看视频| 国产精品美女久久久浪潮软件| 久久精品国产欧美激情| 欧美国产一区在线| 欧美精品日韩精品| 在线综合亚洲欧美在线视频| 久久精品一区| 国产欧美日韩中文字幕在线| 亚洲精选一区| 欧美一区二区在线视频| 韩国在线视频一区| 欧美+日本+国产+在线a∨观看| 国产欧美日韩伦理| 美女日韩欧美| 亚洲美女视频在线免费观看| 国内精品视频在线观看| 欧美精品高清视频| 亚洲精品视频在线播放| 久热成人在线视频| 欧美视频你懂的| 国产伊人精品| 欧美一级大片在线观看| 韩日精品中文字幕| 欧美不卡激情三级在线观看| 亚洲精品国久久99热| 欧美日韩视频在线一区二区观看视频| 最新日韩中文字幕| 在线观看日韩av电影| 欧美一区二区三区成人| 宅男噜噜噜66一区二区66| 久久er精品视频| 久久久久久噜噜噜久久久精品| 在线亚洲一区二区| 欧美理论电影在线观看| 国产亚洲精品久久久| 亚洲精品国产精品国自产观看浪潮| 欧美日韩免费观看中文| 久久精品91久久久久久再现| 久热精品在线视频| 欧美日韩在线大尺度| 亚洲一区精品视频| 欧美日韩一区二区视频在线观看| 亚洲影院色无极综合| 日韩视频精品在线| 国产日韩欧美a| 亚洲美女黄色片| 免费不卡中文字幕视频| 亚洲精品久久久久久久久久久久| 亚洲高清电影| 欧美久久精品午夜青青大伊人| 狠狠色综合播放一区二区| 亚洲另类视频| 欧美精品在欧美一区二区少妇| 久久不射网站| 欧美日韩亚洲高清一区二区| 久久精品99国产精品酒店日本| 国产亚洲综合性久久久影院| 亚洲一区二区三区涩| 欧美日韩成人在线| 欧美成人有码| 亚洲视频综合| 在线综合亚洲欧美在线视频| 久久久久国产精品www| 国产精品久久久久永久免费观看| 欧美日韩国产在线一区| 欧美激情一区二区三区不卡| 在线观看成人av电影| 欧美精品v日韩精品v韩国精品v| 欧美午夜精品久久久久久浪潮| 亚洲国产精品小视频| 欧美理论电影在线播放| 欧美在线啊v一区| 亚洲影视在线| av成人老司机| 国产精品毛片va一区二区三区| 国产欧美一区二区三区国产幕精品| 国产日韩精品一区二区| 国内综合精品午夜久久资源| 亚洲国产高清自拍| 正在播放欧美视频| 国产精品你懂的在线欣赏| 欧美日韩国产精品成人| 久久亚洲视频| 欧美视频一二三区| 欧美一区在线看| 欧美破处大片在线视频| 欧美亚洲一级片| 国产精品区二区三区日本| 亚洲电影第三页| 欧美二区在线观看| 亚洲大片在线| 亚洲欧洲另类| 欧美日韩国产成人在线91| 久久久久五月天| 久久久久久久综合狠狠综合| 在线综合视频| 老司机午夜免费精品视频| 国产精品女人网站| 性欧美超级视频| 老司机午夜精品视频在线观看| 香蕉久久久久久久av网站| 国产日韩欧美另类| 欧美日韩大片一区二区三区| 亚洲视频网站在线观看| 香蕉久久久久久久av网站| 国产私拍一区| 在线观看亚洲视频| 欧美综合激情网| 欧美日韩黄色一区二区| 国产精品日韩精品欧美精品| 国产欧美日韩一级| 国产人成一区二区三区影院| 欧美与欧洲交xxxx免费观看| 日韩亚洲综合在线| 欧美顶级大胆免费视频| 欧美韩国日本综合| 国产乱码精品一区二区三区不卡| 欧美va日韩va| 尹人成人综合网| 欧美在线国产| 国产精品一区久久久久| 国产精品永久免费在线| 国产精品久久久久久久浪潮网站| 午夜国产欧美理论在线播放| 日韩一级黄色大片| 国产精品私人影院| 一区二区三区在线视频观看| 亚洲一区二区三区视频播放| 亚洲国产精品综合| 国产精品久久九九| 国产亚洲精品久| 欧美色精品天天在线观看视频| 亚洲国产欧美一区二区三区同亚洲| 国产字幕视频一区二区| 日韩网站免费观看| 亚洲春色另类小说| 国产精品久久久久三级| 蜜桃av一区二区在线观看| 精品电影一区| 国产精品视频福利| 午夜精彩视频在线观看不卡| 久久精品国产2020观看福利| 伊人成人网在线看| 欧美一区深夜视频| 国产精一区二区三区| 欧美国产成人精品| 99在线观看免费视频精品观看| 麻豆成人91精品二区三区| 一区二区电影免费在线观看| 亚洲人成在线影院| 久久av一区二区三区亚洲| 久久久欧美一区二区| 亚洲欧美日韩天堂一区二区| 国产精品免费aⅴ片在线观看| 香蕉av福利精品导航| 欧美日韩一级片在线观看| 欧美精品1区2区| 久久夜精品va视频免费观看| 欧美日韩91| 欧美一区=区| 亚洲美女中文字幕| 伊人久久亚洲美女图片| 亚洲欧美在线磁力| 欧美日韩精品一本二本三本| 99精品视频免费观看| 欧美一区二区三区精品| 精品999成人| 欧美日韩黄色一区二区| 99精品欧美一区二区三区综合在线| 欧美激情精品久久久六区热门| aa国产精品| 久久乐国产精品|