手把手教你使用USB的CDC+MSC复合设备(基于stm32f407)- 2

2023-11-12

接上文:手把手教你使用USB的CDC+MSC复合设备(基于stm32f407)

  此文主要是记录一下usb枚举时抓取的一些数据以及usb msc涉及的部分scsi协议。

USB MSC协议

  主要包括usb协议、msc类协议、scsi协议、SDIO接口协议,流程图如下,描述了Host与Dev之间通信的过程。
在这里插入图片描述

SCSI协议

  SCSI:Small Computer System Interface,小型计算机系统接口的缩写,说人话就是Host通过usb协议与设备进行通信,usb协议内的数据又使用 SCSI协议来传输sd卡或硬盘数据,来达到电脑上挂载SD卡并读写文件的功能。
  常用的几个SCSI协议如下:

命令码 描述 含义
0x00 SCSI_TEST_UNIT_READY 测试命令,经常使用
0x12 SCSI_INQUIRY 查询基本信息命令,包括厂商、版本等信息
0x1a SCSI_MODE_SENSE6 模式检测,提供一系列设备服务、报告参数等
0x15 SCSI_MODE_SELECT6 模式选择,与上0x1a对应
0x23 SCSI_READ_FORMAT_CAPACITIES 读取可支持的格式化容量
0x25 SCSI_READ_CAPACITY10 读取当前SD卡容量
0x28 SCSI_READ10 读数据命令
0x2f SCSI_WRITE10 写数据容量

枚举流程数据

  下面是BusHound抓的枚举过程的数据。

Bus Hound 6.00 capture on Windows Vista (x64). Complements of www.perisoft.net

stm32正常过程

  Device - Device ID (followed by the endpoint for USB devices)
            (6) USB Root Hub (USB 3.0)
            (26) USB Mass Storage Device
            (27) STM Product [ROM=0.01]
  Address - FireWire async address or channel number
  Length - Total transfer length
  Phase  - Phase Type
            ATA   ATA task file command      SENSE SCSI sense data
            CTL   USB control transfer       USTS  USB status
            IN    Data in transfer           ok    command complete
            OUT   Data out transfer
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Cmd... - Position in the captured data


Device  Address              Length    Phase  Data                                                Description       Cmd.Phase.Ofs(rep)
------  -------------------  --------  -----  --------------------------------------------------  ----------------  ------------------
   6.0                                 CTL    a3 00 00 00  02 00 04 00                            CLASS                    1.1.0        
   6.0                              4  IN     01 01 01 00                                         ....                     1.2.0        
   6.0                                 CTL    23 01 10 00  02 00 00 00                            CLASS                    2.1.0        
   6.0                                 CTL    a3 00 00 00  02 00 04 00                            CLASS                    3.1.0        
   6.0                              4  IN     01 01 00 00                                         ....                     3.2.0        
   6                                   ok                                                                                  4.1.0        
   6.0                                 CTL    23 03 04 00  02 00 00 00                            CLASS                    5.1.0        
   6.0                                 CTL    a3 00 00 00  02 00 04 00                            CLASS                    6.1.0        
   6.0                              4  IN     03 01 10 00                                         ....                     6.2.0        
   6.0                                 CTL    23 01 14 00  02 00 00 00                            CLASS                    7.1.0        
   6.0                                 CTL    a3 00 00 00  02 00 04 00                            CLASS                    8.1.0        
   6.0                              4  IN     03 01 00 00                                         ....                     8.2.0        
   6                                   ok                                                                                  9.1.0        
											获取设备描述符
   6.0                                 CTL    80 06 00 01  00 00 40 00                            GET DESCRIPTOR          10.1.0        
   6.0                             18  IN     12 01 00 02  ef 02 01 40  83 04 2a 57  00 02 01 02  .......@..*W....        10.2.0        
                                              03 01                                               ..                      10.2.16       
   6                                   ok                                                                                 11.1.0        
   6.0                                 CTL    23 03 04 00  02 00 00 00                            CLASS                   12.1.0        
   6.0                                 CTL    a3 00 00 00  02 00 04 00                            CLASS                   13.1.0        
   6.0                              4  IN     03 01 10 00                                         ....                    13.2.0        
   6.0                                 CTL    23 01 14 00  02 00 00 00                            CLASS                   14.1.0        
   6.0                                 CTL    a3 00 00 00  02 00 04 00                            CLASS                   15.1.0        
   6.0                              4  IN     03 01 00 00                                         ....                    15.2.0        
   6                                   ok                                                                                 16.1.0(2)     
											获取设备描述符
   6.0                                 CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR          18.1.0        
   6.0                             18  IN     12 01 00 02  ef 02 01 40  83 04 2a 57  00 02 01 02  .......@..*W....        18.2.0        
                                              03 01                                               ..                      18.2.16       
											获取配置描述符
   6.0                                 CTL    80 06 00 02  00 00 ff 00                            GET DESCRIPTOR          19.1.0        
   6.0                            106  IN     09 02 6a 00  03 01 00 c0  32 08 0b 00  02 02 02 01  ..j.....2.......        19.2.0        
                                              00 09 04 00  00 01 02 02  01 00 05 24  00 10 01 05  ...........$....        19.2.16       
                                              24 01 00 01  04 24 02 02  05 24 06 00  01 07 05 82  $....$...$......        19.2.32       
                                              03 08 00 10  09 04 01 00  02 0a 00 00  06 07 05 01  ................        19.2.48       
                                              02 40 00 00  07 05 81 02  40 00 00 08  0b 02 01 08  .@......@.......        19.2.64       
                                              06 50 00 09  04 02 00 02  08 06 50 00  07 05 83 02  .P........P.....        19.2.80       
                                              40 00 00 07  05 03 02 40  00 00                     @......@..              19.2.96       
											获取字符串描述符索引3
   6.0                                 CTL    80 06 03 03  09 04 ff 00                            GET DESCRIPTOR          20.1.0        
   6.0                             26  IN     1a 03 33 00  31 00 37 00  30 00 33 00  39 00 35 00  ..3.1.7.0.3.9.5.        20.2.0        
                                              41 00 33 00  31 00 33 00  31 00                     A.3.1.3.1.              20.2.16       
											获取语言ID描述符
   6.0                                 CTL    80 06 00 03  00 00 ff 00                            GET DESCRIPTOR          21.1.0        
   6.0                              4  IN     04 03 09 04                                         ....                    21.2.0        
											获取字符串描述符索引2
   6.0                                 CTL    80 06 02 03  09 04 ff 00                            GET DESCRIPTOR          22.1.0        
   6.0                             38  IN     26 03 53 00  54 00 4d 00  33 00 32 00  20 00 4d 00  &.S.T.M.3.2. .M.        22.2.0        
                                              61 00 73 00  73 00 20 00  53 00 74 00  6f 00 72 00  a.s.s. .S.t.o.r.        22.2.16       
                                              61 00 67 00  65 00                                  a.g.e.                  22.2.32       
   6.0                                 CTL    80 06 00 06  00 00 0a 00                            GET DESCRIPTOR          23.1.0        
   6.0                                 USTS   c0000004                                            stall pid               23.2.0        
   6                                   ok                                                                                 24.1.0        
											设置配置
   6.0                                 CTL    00 09 01 00  00 00 00 00                            SET CONFIG              25.1.0        
   6                                   ok                                                                                 26.1.0        
											获取语言ID描述符
   6.0                                 CTL    80 06 00 03  00 00 ff 00                            GET DESCRIPTOR          27.1.0        
   6.0                              4  IN     04 03 09 04                                         ....                    27.2.0        
											获取字符串描述符索引1
   6.0                                 CTL    80 06 01 03  09 04 ff 00                            GET DESCRIPTOR          28.1.0        
   6.0                             38  IN     26 03 53 00  54 00 4d 00  69 00 63 00  72 00 6f 00  &.S.T.M.i.c.r.o.        28.2.0        
                                              65 00 6c 00  65 00 63 00  74 00 72 00  6f 00 6e 00  e.l.e.c.t.r.o.n.        28.2.16       
                                              69 00 63 00  73 00                                  i.c.s.                  28.2.32       
											获取字符串描述符索引2
   6.0                                 CTL    80 06 02 03  09 04 ff 00                            GET DESCRIPTOR          29.1.0        
   6.0                             38  IN     26 03 53 00  54 00 4d 00  33 00 32 00  20 00 4d 00  &.S.T.M.3.2. .M.        29.2.0        
                                              61 00 73 00  73 00 20 00  53 00 74 00  6f 00 72 00  a.s.s. .S.t.o.r.        29.2.16       
                                              61 00 67 00  65 00                                  a.g.e.                  29.2.32       
   6                                   ok                                                                                 30.1.0        
											获取设备描述符
  26.0                                 CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR          31.1.0        
  26.0                             18  IN     12 01 00 02  ef 02 01 40  83 04 2a 57  00 02 01 02  .......@..*W....        31.2.0        
                                              03 01                                               ..                      31.2.16       
											获取配置描述符
  26.0                                 CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR          32.1.0        
  26.0                              9  IN     09 02 20 00  01 01 00 c0  32                        .. .....2               32.2.0        
											获取全部的配置描述符
  26.0                                 CTL    80 06 00 02  00 00 20 00                            GET DESCRIPTOR          33.1.0        
  26.0                             32  IN     09 02 20 00  01 01 00 c0  32 09 04 02  00 02 08 06  .. .....2.......        33.2.0        
                                              50 00 07 05  83 02 40 00  00 07 05 03  02 40 00 00  P.....@......@..        33.2.16       
											获取语言ID
  26.0                                 CTL    80 06 00 03  00 00 02 00                            GET DESCRIPTOR          34.1.0        
  26.0                              2  IN     04 03                                               ..                      34.2.0        
  26.0                                 CTL    80 06 00 03  00 00 04 00                            GET DESCRIPTOR          35.1.0        
  26.0                              4  IN     04 03 09 04                                         ....                    35.2.0        
											获取字符串描述符索引3
  26.0                                 CTL    80 06 03 03  09 04 02 00                            GET DESCRIPTOR          36.1.0        
  26.0                              2  IN     1a 03                                               ..                      36.2.0        
  26.0                                 CTL    80 06 03 03  09 04 1a 00                            GET DESCRIPTOR          37.1.0        
  26.0                             26  IN     1a 03 33 00  31 00 37 00  30 00 33 00  39 00 35 00  ..3.1.7.0.3.9.5.        37.2.0        
                                              41 00 33 00  31 00 33 00  31 00                     A.3.1.3.1.              37.2.16       
											设置配置
  26.0                                 CTL    00 09 01 00  00 00 00 00                            SET CONFIG              38.1.0        
											设置接口
  26.0                                 CTL    01 0b 00 00  02 00 00 00                            SET INTERFACE           39.1.0        
   6                                   ok                                                                                 40.1.0        
  
											----------SCSI  MSC------------------------
                      获取LUN
  26.0                                 CTL    a1 fe 00 00  02 00 01 00                            GET MAX LUN             41.1.0        
  26.0                              1  IN     00                                                  .                       41.2.0        
                      SCSI Inquery 0x12
  26.3                             31  OUT    55 53 42 43  10 00 0e 24  24 00 00 00  80 00 06 12  USBC...$$.......        42.1.0        
                                              00 00 00 24  00 00 00 00  00 00 00 00  00 00 00     ...$...........         42.1.16       
  26.3                             36  IN     00 80 02 02  1f 00 00 00  53 54 4d 20  20 20 20 20  ........STM             43.1.0        
                                              50 72 6f 64  75 63 74 20  20 20 20 20  20 20 20 20  Product                 43.1.16       
                                              30 2e 30 31                                         0.01                    43.1.32       
  26.3                             13  IN     55 53 42 53  10 00 0e 24  00 00 00 00  00           USBS...$.....           44.1.0        
                      SCSI Inquery 0x12
  26.3                             31  OUT    55 53 42 43  10 20 69 22  24 00 00 00  80 00 06 12  USBC. i"$.......        45.1.0        
                                              00 00 00 24  00 00 00 00  00 00 00 00  00 00 00     ...$...........         45.1.16       
  26.3                             36  IN     00 80 02 02  1f 00 00 00  53 54 4d 20  20 20 20 20  ........STM             46.1.0        
                                              50 72 6f 64  75 63 74 20  20 20 20 20  20 20 20 20  Product                 46.1.16       
                                              30 2e 30 31                                         0.01                    46.1.32       
  26.3                             13  IN     55 53 42 53  10 20 69 22  00 00 00 00  00           USBS. i".....           47.1.0        
                      SCSI ReadFormatCapacity 0x23
  26.3                             31  OUT    55 53 42 43  10 40 ac 24  fc 00 00 00  80 00 0a 23  USBC.@.$.......#        48.1.0        
                                              00 00 00 00  00 00 00 fc  00 00 00 00  00 00 00     ...............         48.1.16       
  26.3                             12  IN     00 00 00 08  01 da cb ff  02 00 02 00               ............            49.1.0        
  26.3                             13  IN     55 53 42 53  10 40 ac 24  f0 00 00 00  00           USBS.@.$.....           50.1.0        
                      SCSI Inquery 0x12, flag=1,page=0x80
  26.3                             31  OUT    55 53 42 43  d0 e8 c6 0e  ff 00 00 00  80 00 06 12  USBC............        51.1.0        
                                              01 80 00 ff  00 00 00 00  00 00 00 00  00 00 00     ...............         51.1.16       
  26.3                              8  IN     00 80 00 08  20 20 20 20                            ....                    52.1.0        
  26.3                             13  IN     55 53 42 53  d0 e8 c6 0e  f7 00 00 00  00           USBS.........           53.1.0        
                            
  27                               36  IN     00 80 02 02  1f 00 00 00  53 54 4d 20  20 20 20 20  ........STM             54.1.0        
                                              50 72 6f 64  75 63 74 20  20 20 20 20  20 20 20 20  Product                 54.1.16       
                                              30 2e 30 31                                         0.01                    54.1.32       
                      SCSI ReadCacacity 0x25
  26.3                             31  OUT    55 53 42 43  10 70 fd 24  08 00 00 00  80 00 0a 25  USBC.p.$.......%        55.1.0        
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00     ...............         55.1.16       
  26.3                              8  IN     01 da cb ff  00 00 02 00                            ........                56.1.0        
  26.3                             13  IN     55 53 42 53  10 70 fd 24  00 00 00 00  00           USBS.p.$.....           57.1.0        
                            
  27                                8  IN     01 da cb ff  00 00 02 00                            ........                58.1.0        
  27                                   ATA    00 00 00 4f  c2 a0 ec                               IDENTIFY                59.1.0        
  27                                   ok                                                                                 59.2.0        
                      SCSI ModeSense6 0x1a
  26.3                             31  OUT    55 53 42 43  70 52 f0 24  c0 00 00 00  80 00 06 1a  USBCpR.$........        60.1.0        
                                              00 1c 00 c0  00 00 00 00  00 00 00 00  00 00 00     ...............         60.1.16       
  27                               18  SENSE  70 00 05 00  00 00 00 0a  00 00 00 00  24 00 00 00  invalid cdb             61.1.0        
                                              00 00                                                                       61.1.16       
  26.3                             23  IN     22 00 00 00  08 12 00 00  00 00 00 00  00 00 00 00  "...............        62.1.0        
                                              00 00 00 00  00 00 00                               .......                 62.1.16       
  26.3                             13  IN     55 53 42 53  70 52 f0 24  a9 00 00 00  00           USBSpR.$.....           63.1.0        
  27                               23  IN     22 00 00 00  08 12 00 00  00 00 00 00  00 00 00 00  "...............        64.1.0        
                                              00 00 00 00  00 00 00                               .......                 64.1.16       
                      SCSI ModeSense6 0x1a
  26.3                             31  OUT    55 53 42 43  10 70 fd 24  c0 00 00 00  80 00 06 1a  USBC.p.$........        65.1.0        
                                              00 08 00 c0  00 00 00 00  00 00 00 00  00 00 00     ...............         65.1.16       
  26.3                             23  IN     22 00 00 00  08 12 00 00  00 00 00 00  00 00 00 00  "...............        66.1.0        
                                              00 00 00 00  00 00 00                               .......                 66.1.16       
  26.3                             13  IN     55 53 42 53  10 70 fd 24  a9 00 00 00  00           USBS.p.$.....           67.1.0        
  27                               23  IN     22 00 00 00  08 12 00 00  00 00 00 00  00 00 00 00  "...............        68.1.0        
                                              00 00 00 00  00 00 00                               .......                 68.1.16       
                      SCSI ReadCacacity 0x25
  26.3                             31  OUT    55 53 42 43  10 f0 76 21  08 00 00 00  80 00 0a 25  USBC..v!.......%        69.1.0        
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00     ...............         69.1.16       
  26.3                              8  IN     01 da cb ff  00 00 02 00                            ........                70.1.0        
  26.3                             13  IN     55 53 42 53  10 f0 76 21  00 00 00 00  00           USBS..v!.....           71.1.0        
  27                                8  IN     01 da cb ff  00 00 02 00                            ........                72.1.0        
                      SCSI Inquery 0x12
  26.3                             31  OUT    55 53 42 43  10 00 4e 0f  24 00 00 00  80 00 06 12  USBC..N.$.......        73.1.0        
                                              00 00 00 24  00 00 00 00  00 00 00 00  00 00 00     ...$...........         73.1.16       
  26.3                             36  IN     00 80 02 02  1f 00 00 00  53 54 4d 20  20 20 20 20  ........STM             74.1.0        
                                              50 72 6f 64  75 63 74 20  20 20 20 20  20 20 20 20  Product                 74.1.16       
                                              30 2e 30 31                                         0.01                    74.1.32       
  26.3                             13  IN     55 53 42 53  10 00 4e 0f  00 00 00 00  00           USBS..N......           75.1.0        
  27                               36  IN     00 80 02 02  1f 00 00 00  53 54 4d 20  20 20 20 20  ........STM             76.1.0        
                                              50 72 6f 64  75 63 74 20  20 20 20 20  20 20 20 20  Product                 76.1.16       
                                              30 2e 30 31                                         0.01                    76.1.32       
  27                               18  SENSE  70 00 05 00  00 00 00 0a  00 00 00 00  20 00 00 00  illegal request         77.1.0        
                                              00 00                                                                       77.1.16       
                      SCSI ReadCacacity 0x25
  26.3                             31  OUT    55 53 42 43  10 70 fd 24  08 00 00 00  80 00 0a 25  USBC.p.$.......%        78.1.0        
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00     ...............         78.1.16       
  26.3                              8  IN     01 da cb ff  00 00 02 00                            ........                79.1.0        
  26.3                             13  IN     55 53 42 53  10 70 fd 24  00 00 00 00  00           USBS.p.$.....           80.1.0        
  27                                8  IN     01 da cb ff  00 00 02 00                            ........                81.1.0        
                      SCSI ReadCacacity 0x25
  26.3                             31  OUT    55 53 42 43  10 30 1e 24  08 00 00 00  80 00 0a 25  USBC.0.$.......%        82.1.0        
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00     ...............         82.1.16       
  26.3                              8  IN     01 da cb ff  00 00 02 00                            ........                83.1.0        
  26.3                             13  IN     55 53 42 53  10 30 1e 24  00 00 00 00  00           USBS.0.$.....           84.1.0        
  27                                8  IN     01 da cb ff  00 00 02 00                            ........                85.1.0        
                      SCSI ReadCacacity 0x25
  26.3                             31  OUT    55 53 42 43  10 70 fd 24  08 00 00 00  80 00 0a 25  USBC.p.$.......%        86.1.0        
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00     ...............         86.1.16       
  26.3                              8  IN     01 da cb ff  00 00 02 00                            ........                87.1.0        
  26.3                             13  IN     55 53 42 53  10 70 fd 24  00 00 00 00  00           USBS.p.$.....           88.1.0        
  27                                8  IN     01 da cb ff  00 00 02 00                            ........                89.1.0        
                      SCSI Read10 0x28,读SD卡数据
  26.3                             31  OUT    55 53 42 43  10 70 fd 24  00 02 00 00  80 00 0a 28  USBC.p.$.......(        90.1.0        
                                              00 00 00 00  00 00 00 01  00 00 00 00  00 00 00     ...............         90.1.16       
  26.3                            512  IN     00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.0        
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.16       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.32       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.48       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.64       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.80       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.96       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.112      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.128      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.144      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.160      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.176      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.192      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.208      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.224      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.240      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.256      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.272      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.288      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.304      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.320      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.336      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.352      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.368      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.384      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.400      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.416      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 82  ................        91.1.432      
                                              03 00 0c fe  ff ff 00 20  00 00 00 ac  da 01 00 00  ....... ........        91.1.448      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.464      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        91.1.480      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 55 aa  ..............U.        91.1.496      
  26.3                             13  IN     55 53 42 53  10 70 fd 24  00 00 00 00  00           USBS.p.$.....           92.1.0        
  27                              512  IN     00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.0        
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.16       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.32       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.48       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.64       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.80       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.96       
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.112      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.128      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.144      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.160      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.176      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.192      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.208      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.224      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.240      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.256      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.272      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.288      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.304      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.320      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.336      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.352      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.368      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.384      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.400      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.416      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 82  ................        93.1.432      
                                              03 00 0c fe  ff ff 00 20  00 00 00 ac  da 01 00 00  ....... ........        93.1.448      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.464      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................        93.1.480      
                                              00 00 00 00  00 00 00 00  00 00 00 00  00 00 55 aa  ..............U.        93.1.496      
  26.3                             31  OUT    55 53 42 43  10 40 d9 25  00 20 00 00  80 00 0a 28  USBC.@.%. .....(        94.1.0        
                                              00 00 00 00  00 00 00 10  00 00 00 00  00 00 00     ...............         94.1.16   
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手教你使用USB的CDC+MSC复合设备(基于stm32f407)- 2 的相关文章

  • 无法使用 OpenCV 从辅助网络摄像头的 VideoCapture 读取帧

    Code 与主网络摄像头 设备 0 完美配合的简单示例 VideoCapture cap 0 if cap isOpened std cout lt lt Unable to read stream from specified devic
  • 嵌入式 C++11 代码 — 我需要 volatile 吗?

    采用 Cortex M3 MCU STM32F1 的嵌入式设备 它具有嵌入式闪存 64K MCU固件可以在运行时重新编程闪存扇区 这是由闪存控制器 FMC 寄存器完成的 所以它不像a b那么简单 FMC 获取缓冲区指针并将数据刻录到某个闪存
  • ALSA 记录 - 了解内存映射

    我尝试使用 ALSA 从 USB 音频设备获取输入并将其作为一系列内容写入磁盘signed short价值观 我最终得到的是看似有效的数据块 其中散布着大块的零 我猜测我的缓冲区设置不正确并且没有正确使用内存映射 我正在尝试什么 采样率 8
  • 软件和与外部设备串行通信的波特率限制

    我使用 USB 端口作为虚拟 COM 端口运行 以使用 MATLAB 或 Visual Basic 6 实现与外部设备的串行通信 我面临波特率限制 具体取决于我用于与设备通信的软件 MATLAB 2018a 没有问题 因为它可以设置高波特率
  • 是否有可通过 USB 密钥在 Mac OS X 10.6 上运行的便携式 python 解释器?

    我一直在努力寻找一个可以通过工作计算机上的 USB 密钥运行的便携式解释器 Work comp 运行的是 Mac OS X 10 6 环境相当受限 无法访问终端 无法安装应用程序 但我知道便携式应用程序可以从 USB 驱动器运行 我一直在使
  • Android 到 PC USB 读/写

    我在 PC 上有一个程序 从 USB 接收字符串输入 旧程序 我有一个 Android 4 X 平板电脑 需要向在 PC 上运行的程序提供 USB 上的字符串输入 当我在 Android 上使用示例代码时 以下代码给出了空的哈希图 PC 在
  • 无法使用 Android Studio、Windows 7 连接到 Samsung Galaxy Tab S

    我有一台漂亮的新三星 Galaxy Tab S 我正在尝试将其与 Android Studio 连接 我已在平板电脑上启用 USB 调试 并通过执行 SAMSUNG USB Driver for Mobile Phones v1 5 45
  • 不支持混合类型

    请看一下下面的头文件 pragma once using namespace UsbLibrary ref class MissileLauncher public MissileLauncher void private Bytes us
  • USB 调试 - 安装 Epson Moverio 驱动程序时出现问题

    Android 开发新手 我使用以下命令制作了一个小应用程序Eclipse http en wikipedia org wiki Eclipse 28software 29在虚拟 Android 设备上完美运行 现在 我想在真实的设备上运行
  • 如何在没有窗口句柄的情况下使用 RegisterDeviceNotification?

    我正在编写一个 DLL 库 该库使用 VB NET 中的 winusb 连接到 USB 设备 由于它是一个 DLL 所以我没有窗口 而且我的库的用户也可能没有窗口 例如命令行应用程序 我见过的检测设备连接和分离的示例都使用RegisterD
  • 通过Android USB主机与智能卡读卡器通信

    我正在尝试向智能卡发送命令 我用一个金雅拓 IDBridge CT30 PC TWIN 读卡器 http www smartcardfocus com images content GEMTR jpg and a ID桥K30 http c
  • OSX:如何从 IOUSBDeviceInterface 或位置 id 获取卷名称(或 bsd 名称)

    我正在尝试编写一个应用程序 将特定的 USB 字符串描述符 USB 大容量存储设备 与其卷或 bsd 名称相关联 因此 代码会遍历所有连接的 USB 设备 获取字符串描述符并从其中之一提取信息 我想获取这些 USB 设备的卷名 我找不到合适
  • 使用Python直接向USB发送信号

    如何使用 Python 将 USB 端口连接设置为高或低 这可用于定制 USB 设备 例如 假设我有一个 LED 连接到 USB 端口 数据线 现在通过代码我想闪烁它或控制它 现在 这可以通过使用任何微控制器 Arduino Raspber
  • 如何枚举所有HID设备? C#

    我需要枚举连接到我的 PC 的所有 HID 设备 我尝试使用这个答案 https stackoverflow com a 3331509 902424 但它枚举了 USBHub 设备 但我在那里找不到我的 HID 设备 EDIT 我很高兴知
  • HAL_Delay() 陷入无限循环

    我被 HAL Delay 函数困住了 当我调用此函数 HAL Delay 时 控制陷入无限循环 在寻找问题的过程中 我发现了这个 http www openstm32 org forumthread2145 threadId2146 htt
  • 使用 STM32F0 ADC 单独读取不同的输入

    STM32F072CBU 微控制器 我有多个 ADC 输入 并且希望单独读取它们 STMcubeMX 生成样板代码 假设我希望按顺序读取所有输入 但我无法弄清楚如何纠正这个问题 这篇博文 http blog koepi info 2015
  • 如何查找USB盘符?

    我正在编写一个安装程序来将应用程序安装到 USB 驱动器 该应用程序只能从 USB 驱动器使用 因此它可以通过自动选择要安装的 USB 驱动器来为用户节省额外的步骤 我可能会尝试使用 Nullsoft 或 MSI 进行安装 但由于我最熟悉
  • 我可以从哪里开始使用可编程硬件?

    一段时间以来 我一直渴望至少学习一点有关硬件编程的知识 并想在这里提出要求以获得一些起点 我是一位相当有成就的程序员 具有 Delphi 和 Objective c 经验 但从未听过设备端口 中断 我什至不知道术语 更不用说对硬件进行编程了
  • 如何在 C# 中从 USB 令牌读取证书

    我有一个 USB 令牌 其中包含一个加密证书 该证书具有公钥和私钥 现在我想用 C 创建一个应用程序 通过它我可以找到可访问的证书信息 当我插入 USB 令牌时 它会被检测到 但计算机部分上没有显示任何驱动器 就像闪存驱动器一样 如何从 U
  • 获取已连接 USB 设备的端口名称

    当USB设备连接到计算机时 如何使用C 代码获取它所连接的端口名称 我找到了很多方法来查找 USB 何时连接 断开 驱动器号 路径 设备 ID 等 但没有找到任何明确的示例来说明如何知道它连接到哪个端口 我看到了一种可能的解释 但这涉及很多

随机推荐

  • 基于Rancher构建持续集成

    1 安装 部署持续集成环境 1 通过实训平台进入到操作系统界面 在 后输入docker pull docker io gogs gogs latest命令 拉取Gogs镜像 示例代码执行如图1所示 2 在 后输入docker pull do
  • Google学术打不开,简单方法汇总

    从5月27日开始 很多人反馈谷歌打不开 各种捉急中有木有 有些基于GMAIL查看订单邮件可是却打不开谷歌网页 各种蛋疼中有木有 部分公司除了业务员搜索客户使用谷歌外 也投了谷歌的广告推广 随着对谷歌的限制 连谷歌推广的后台也都无法打开了 目
  • android 应用可以定义多个theme,管理和应用多个主题和自定义主题修改的Android库...

    Scoops Android library for managing and applying multiple defined R style Theme themes at runtime for dyanically changin
  • Google TPU的发展历程与思考(一)

    Google TPU的架构与思考 TPU v1 2016年5月的开发者大会上 Google推出了自行研制的人工智能芯片Tensor Processing Unit TPU 五年后的2021年5月19日 Google 又推出了 TPU v4
  • 如何用地址栏查看网页的源代码

    如何在地址栏里输入命令查看目标网页的源代码 输入 view source http www baidu com 当然这只是一个例子 view source 后面 跟完整的url地址
  • java使用File类创建一个文件和遍历文件目录实例

    java使用File类创建一个文件 这个类的用处只涉及到文件的创建 修改和删除 并不对文件内部的内容进行其他操作 public class F public static void main String args File file ne
  • vue3.0+Ts+全局自定义指令实现动态按钮【操作】

    1 介绍 本文采用vue3 0 Ts 全局自定义指令实现动态按钮 操作 应用场景为后端发送动态菜单 操作 操作信息存放在路由的meta中并将路由存在vuex中 模板文件使用全局自定义指令动态判断是否显示该按钮 2 编写路由相关内容 2 1
  • 使用python进行十大排序算法图文详解【阅读数篇文章后集优】

    本文通过阅读 观看大量文章和视频 筛选出较优质的文章并实际运行 验证代码而作 文章部分内容进行了参考 阅读的大量文章中不乏水文 就算文章不错的也有部分错误 使得读者难以理解或理解错误 这也是我作此文的目的 文末附有这些我觉得比较好的文章的链
  • python目标检测答案_Python OpenCV 3 使用背景减除进行目标检测

    背景减除 Background Subtraction 是许多基于计算机视觉的任务中的主要预处理步骤 如果我们有完整的静止的背景帧 那么我们可以通过帧差法来计算像素差从而获取到前景对象 但是在大多数情况下 我们可能没有这样的图像 所以我们需
  • c语言判断格式是否IPv6

    int net is validipv6 const char hostname struct sockaddr in6 addr if hostname return 1 if strchr hostname return 1 暂时排除
  • C# 使用RestSharp实现Postman中的各种形式的请求

    目录 一 导入命名空间 二 构建客户端 创建客户端对象 设置当前URL 设置响应超时 添加默认Header 添加单项Cookie 添加多项Cookie 三 构建请求 创建请求对象 添加参数Header 添加单项Cookie 添加多项Cook
  • ffmpeg为视频设置透明度的几种方案

    ffmpeg命令目录 方案一 推荐 在这里插入图片描述 https img blog csdnimg cn 20190618215408132 gif pic center 方案二 对图片有效 经过测试 同方案二 只是先将视频转换成一张张帧
  • Vue拖拽排序(el-table ajax返回数据)

  • Unity Bolt使用协程等待

    使用Unity bolt插件可以进行一些简单逻辑开发 本质上相当于把C 接口以图形化的方式进行调用 但是怎么使用协程进行等待呢 经过一些研究 可以使用继承WaitUnit的组件方式进行扩展 下面是具体的操作步骤 1 等待组件扩展 经过查找
  • 安装MMDetection

    文章目录 前言 MMDetection介绍 MMDetection 整体构建流程和思想 其他信息 参考博客 前言 记录安装MMDetection MMDetection介绍 MMDetection 整体构建流程和思想 这里引用知乎回答图片
  • 企业微信自建应用通过PHP进行收发消息

    我们在企业微信的使用中肯定会用到自建应用 自建应用使用最多的功能就是消息的推送 使用的场景也有很多 例如 在公司内网的程序 可以监控员工在什么时候进行了敏感操作 比如某管理员删除了帐号或者其他内容 可以在进行操作时候推送一条消息到自建应用上
  • 基于GPU的三维体素化

    详情请看我的个人博客的体素化Voxelization 基于GPU的三维体素化
  • Power BI区域可视化(中国、各省市、各区县)

    1 制作SVG地图元件 Axure 复制到 Axure 的全国 含省 市 区 SVG 地图元件 PNG TO SVG 从复制到 Axure 的全国 含省 市 区 SVG 地图元件上截图 另存为PNG PNG TO SVG 设置SVG pat
  • Linux运维面试精选题库(一)

    运维精选面试题 1 什么是数据库 DB DataBase 数据库 依照某种数据模型进行组织并存放到存储器的数据集合 DBMS DataBase Management System 数据库管理系统 用来操纵和管理数据库的大型服务 软件 DBS
  • 手把手教你使用USB的CDC+MSC复合设备(基于stm32f407)- 2

    接上文 手把手教你使用USB的CDC MSC复合设备 基于stm32f407 此文主要是记录一下usb枚举时抓取的一些数据以及usb msc涉及的部分scsi协议 USB MSC协议 主要包括usb协议 msc类协议 scsi协议 SDIO