USB摄像头同步传输的完成后URB参数
2021-11-05
539
0
这几天不是闲来无事,一个工作的任务就是对手中一个USB摄像头进行驱动开发,并进行视频格式的转换。
通过分析该USB摄像头可知,其采用的是同步传输,所以本人在开发的驱动中,使用同步的URB进行下发请求数据,然后在完成例程中获取数据。
同步传输的URB本人在 手动分析使用BUSHOUND抓取同步传输的URB 一文已经对共结构体进行了分析。但其实这里的分析其实并不完全,所以这里再做一些说明。
在URB的结构体初始化过程中,其中一项重要的是同步传输的包进行初始化,代码一般是这样的:
for (index = 0; index < numberOfPackets; index++)
{
urb->UrbIsochronousTransfer.IsoPacket[index].Offset = index * isochPacketSize;
urb->UrbIsochronousTransfer.IsoPacket[index].Length = 0;
urb->UrbIsochronousTransfer.IsoPacket[index].Status = 0;
}
而这个结构体的定义是这样的:
typedef struct _USBD_ISO_PACKET_DESCRIPTOR {
ULONG Offset;
ULONG Length;
USBD_STATUS Status;
} USBD_ISO_PACKET_DESCRIPTOR, *PUSBD_ISO_PACKET_DESCRIPTOR;
通过对完成例程中的URB的各USBD_ISO_PACKET_DESCRIPTOR结构体进行打印,如这里本人创建的URB中包括128个USBD_ISO_PACKET_DESCRIPTOR。
对应的代码如下:
KdPrint(("len=%d\n", urb->UrbIsochronousTransfer.TransferBufferLength));
for (ULONG i = 0; i < urb->UrbIsochronousTransfer.NumberOfPackets; i++)
{
PUCHAR pSrc = frame->data + urb->UrbIsochronousTransfer.IsoPacket[i].Offset;
KdPrint(("%d status=%x offset=%d len=%d %02x %02x %02x %02x %02x %02x\n",
i,
urb->UrbIsochronousTransfer.IsoPacket[i].Status,
urb->UrbIsochronousTransfer.IsoPacket[i].Offset,
urb->UrbIsochronousTransfer.IsoPacket[i].Length,
pSrc[0],
pSrc[1],
pSrc[2],
pSrc[3],
pSrc[4],
pSrc[5]
));
}
其输出结果如下:
len=8219
0 status=0 offset=0 len=1024 02 81 00 00 00 01
1 status=0 offset=1024 len=1024 02 81 df ab 02 3f
2 status=0 offset=2048 len=1024 02 81 91 e9 c4 6c
3 status=0 offset=3072 len=1024 02 81 a9 80 54 b3
4 status=0 offset=4096 len=1024 02 81 6a 43 e6 a4
5 status=0 offset=5120 len=1024 02 81 9f 7f 7d e3
6 status=0 offset=6144 len=1024 02 81 5c eb 23 55
7 status=0 offset=7168 len=1024 02 81 98 5f be 77
8 status=0 offset=8192 len=27 02 83 ec bc 65 0c
9 status=0 offset=9216 len=0 00 00 00 00 00 00
10 status=0 offset=10240 len=0 00 00 00 00 00 00
11 status=0 offset=11264 len=0 00 00 00 00 00 00
12 status=0 offset=12288 len=0 00 00 00 00 00 00
13 status=0 offset=13312 len=0 00 00 00 00 00 00
14 status=0 offset=14336 len=0 00 00 00 00 00 00
15 status=0 offset=15360 len=0 00 00 00 00 00 00
16 status=0 offset=16384 len=0 00 00 00 00 00 00
17 status=0 offset=17408 len=0 00 00 00 00 00 00
18 status=0 offset=18432 len=0 00 00 00 00 00 00
19 status=0 offset=19456 len=0 00 00 00 00 00 00
20 status=0 offset=20480 len=0 00 00 00 00 00 00
21 status=0 offset=21504 len=0 00 00 00 00 00 00
22 status=0 offset=22528 len=0 00 00 00 00 00 00
23 status=0 offset=23552 len=0 00 00 00 00 00 00
24 status=0 offset=24576 len=0 00 00 00 00 00 00
25 status=0 offset=25600 len=0 00 00 00 00 00 00
26 status=0 offset=26624 len=0 00 00 00 00 00 00
27 status=0 offset=27648 len=0 00 00 00 00 00 00
28 status=0 offset=28672 len=0 00 00 00 00 00 00
29 status=0 offset=29696 len=0 00 00 00 00 00 00
30 status=0 offset=30720 len=0 00 00 00 00 00 00
31 status=0 offset=31744 len=0 00 00 00 00 00 00
32 status=0 offset=32768 len=0 00 00 00 00 00 00
33 status=0 offset=33792 len=0 00 00 00 00 00 00
34 status=0 offset=34816 len=0 00 00 00 00 00 00
35 status=0 offset=35840 len=0 00 00 00 00 00 00
36 status=0 offset=36864 len=0 00 00 00 00 00 00
37 status=0 offset=37888 len=0 00 00 00 00 00 00
38 status=0 offset=38912 len=0 00 00 00 00 00 00
39 status=0 offset=39936 len=0 00 00 00 00 00 00
40 status=0 offset=40960 len=0 00 00 00 00 00 00
41 status=0 offset=41984 len=0 00 00 00 00 00 00
42 status=0 offset=43008 len=0 00 00 00 00 00 00
43 status=0 offset=44032 len=0 00 00 00 00 00 00
44 status=0 offset=45056 len=0 00 00 00 00 00 00
45 status=0 offset=46080 len=0 00 00 00 00 00 00
46 status=0 offset=47104 len=0 00 00 00 00 00 00
47 status=0 offset=48128 len=0 00 00 00 00 00 00
48 status=0 offset=49152 len=0 00 00 00 00 00 00
49 status=0 offset=50176 len=0 00 00 00 00 00 00
50 status=0 offset=51200 len=0 00 00 00 00 00 00
51 status=0 offset=52224 len=0 00 00 00 00 00 00
52 status=0 offset=53248 len=0 00 00 00 00 00 00
53 status=0 offset=54272 len=0 00 00 00 00 00 00
54 status=0 offset=55296 len=0 00 00 00 00 00 00
55 status=0 offset=56320 len=0 00 00 00 00 00 00
56 status=0 offset=57344 len=0 00 00 00 00 00 00
57 status=0 offset=58368 len=0 00 00 00 00 00 00
58 status=0 offset=59392 len=0 00 00 00 00 00 00
59 status=0 offset=60416 len=0 00 00 00 00 00 00
60 status=0 offset=61440 len=0 00 00 00 00 00 00
61 status=0 offset=62464 len=0 00 00 00 00 00 00
62 status=0 offset=63488 len=0 00 00 00 00 00 00
63 status=0 offset=64512 len=0 00 00 00 00 00 00
64 status=0 offset=65536 len=0 00 00 00 00 00 00
65 status=0 offset=66560 len=0 00 00 00 00 00 00
66 status=0 offset=67584 len=0 00 00 00 00 00 00
67 status=0 offset=68608 len=0 00 00 00 00 00 00
68 status=0 offset=69632 len=0 00 00 00 00 00 00
69 status=0 offset=70656 len=0 00 00 00 00 00 00
70 status=0 offset=71680 len=0 00 00 00 00 00 00
71 status=0 offset=72704 len=0 00 00 00 00 00 00
72 status=0 offset=73728 len=0 00 00 00 00 00 00
73 status=0 offset=74752 len=0 00 00 00 00 00 00
74 status=0 offset=75776 len=0 00 00 00 00 00 00
75 status=0 offset=76800 len=0 00 00 00 00 00 00
76 status=0 offset=77824 len=0 00 00 00 00 00 00
77 status=0 offset=78848 len=0 00 00 00 00 00 00
78 status=0 offset=79872 len=0 00 00 00 00 00 00
79 status=0 offset=80896 len=0 00 00 00 00 00 00
80 status=0 offset=81920 len=0 00 00 00 00 00 00
81 status=0 offset=82944 len=0 00 00 00 00 00 00
82 status=0 offset=83968 len=0 00 00 00 00 00 00
83 status=0 offset=84992 len=0 00 00 00 00 00 00
84 status=0 offset=86016 len=0 00 00 00 00 00 00
85 status=0 offset=87040 len=0 00 00 00 00 00 00
86 status=0 offset=88064 len=0 00 00 00 00 00 00
87 status=0 offset=89088 len=0 00 00 00 00 00 00
88 status=0 offset=90112 len=0 00 00 00 00 00 00
89 status=0 offset=91136 len=0 00 00 00 00 00 00
90 status=0 offset=92160 len=0 00 00 00 00 00 00
91 status=0 offset=93184 len=0 00 00 00 00 00 00
92 status=0 offset=94208 len=0 00 00 00 00 00 00
93 status=0 offset=95232 len=0 00 00 00 00 00 00
94 status=0 offset=96256 len=0 00 00 00 00 00 00
95 status=0 offset=97280 len=0 00 00 00 00 00 00
96 status=0 offset=98304 len=0 00 00 00 00 00 00
97 status=0 offset=99328 len=0 00 00 00 00 00 00
98 status=0 offset=100352 len=0 00 00 00 00 00 00
99 status=0 offset=101376 len=0 00 00 00 00 00 00
100 status=0 offset=102400 len=0 00 00 00 00 00 00
101 status=0 offset=103424 len=0 00 00 00 00 00 00
102 status=0 offset=104448 len=0 00 00 00 00 00 00
103 status=0 offset=105472 len=0 00 00 00 00 00 00
104 status=0 offset=106496 len=0 00 00 00 00 00 00
105 status=0 offset=107520 len=0 00 00 00 00 00 00
106 status=0 offset=108544 len=0 00 00 00 00 00 00
107 status=0 offset=109568 len=0 00 00 00 00 00 00
108 status=0 offset=110592 len=0 00 00 00 00 00 00
109 status=0 offset=111616 len=0 00 00 00 00 00 00
110 status=0 offset=112640 len=0 00 00 00 00 00 00
111 status=0 offset=113664 len=0 00 00 00 00 00 00
112 status=0 offset=114688 len=0 00 00 00 00 00 00
113 status=0 offset=115712 len=0 00 00 00 00 00 00
114 status=0 offset=116736 len=0 00 00 00 00 00 00
115 status=0 offset=117760 len=0 00 00 00 00 00 00
116 status=0 offset=118784 len=0 00 00 00 00 00 00
117 status=0 offset=119808 len=0 00 00 00 00 00 00
118 status=0 offset=120832 len=0 00 00 00 00 00 00
119 status=0 offset=121856 len=0 00 00 00 00 00 00
120 status=0 offset=122880 len=0 00 00 00 00 00 00
121 status=0 offset=123904 len=0 00 00 00 00 00 00
122 status=0 offset=124928 len=0 00 00 00 00 00 00
123 status=0 offset=125952 len=0 00 00 00 00 00 00
124 status=0 offset=126976 len=0 00 00 00 00 00 00
125 status=0 offset=128000 len=0 00 00 00 00 00 00
126 status=0 offset=129024 len=0 00 00 00 00 00 00
127 status=0 offset=130048 len=0 00 00 00 00 00 00
可以看到,urb->UrbIsochronousTransfer.TransferBufferLength表示本URB的有效数据长度,USBD_ISO_PACKET_DESCRIPTOR中的Offset不变,Status表示本小包传输状态,其实也指明了数据是否有效,Length表示实际的小包数据长度。
这些有效的数据长度加起来刚好等于urb->UrbIsochronousTransfer.TransferBufferLength的长度。
8219 = 1024*8+27
通过BUSHOUND抓的同步传输的数据包也验证了这个结果,这里只显示前4096个字节
02 81 00 00 00 01 41 9b b4 24 0e 22 ec 5a d4 9c 2e a4 c9 5a c9 70 80 95 a4 33 3a 52 7b 57 20 8d
f5 84 9e b2 4f e0 37 7c dc 53 52 9b 45 c1 f6 71 f1 fe dd 3f 52 22 17 85 52 b6 81 c8 c6 0d b0 f8
53 d2 a4 6b af 95 9d ae 6b 5a e6 2e 1c 2f 66 38 92 7d 7c b2 5b 20 35 3d 30 1f 51 13 58 8f 22 4d
da e8 ba 55 0c 68 c5 0f b9 73 73 27 e5 9b 86 91 6c 2d a7 08 5b fc 93 c8 00 5f c3 b7 4a ec ab 0d
26 ab 6e 55 3d 49 d3 31 65 8c fc 10 32 89 51 2c 47 b6 99 8f 7d 11 92 0f c5 8e 48 99 50 28 85 0c
86 ca 3f 06 da 64 8a 78 16 b6 7e 8c ae e0 da 90 65 28 bb f6 2c a4 de f9 90 29 e4 71 a6 6a fb 41
54 70 0d c9 5e 89 0c b5 ea 1c 39 ca 0e 9d ce 03 8f 14 ff 46 ef 33 35 07 71 f5 72 ac aa c8 a9 ab
a9 ff ff 9d 2e 8c fe f7 5e 0c 26 40 f4 df ad 16 75 7b 73 4d f9 37 a6 7e 1d f1 4f e0 68 32 d1 77
22 0d 2e b6 d5 a9 c4 a9 ab 65 a8 5b b0 fa 45 6c ec 04 a5 e9 2c 2e df cc 8e 53 ce d6 fe 41 f6 f4
8e 74 48 c6 a4 91 ea d5 86 62 0d 28 6d 05 7d 3d ad a1 6e 83 a7 df a0 17 5e 26 88 0b a6 d9 13 d3
00 86 55 2b 04 03 c9 c7 91 5e 36 ca 4c 7d cb 19 18 8d 8a 8b a2 41 38 30 29 e8 ce 9f c1 ef 3e 82
c5 cd 7a f2 c6 65 21 d0 6e 9a f5 1b 54 32 7f 90 64 a1 a5 ea 43 48 7e 72 85 23 df 28 d9 ba a2 57
82 da 46 f6 f2 08 c9 e9 52 b8 af 90 21 a8 7a c8 06 fd 7c 61 74 1e 0c c2 6d f8 91 07 25 cc 11 2f
67 16 8e c0 41 73 d0 3f d5 35 70 37 20 4c 8d 0e e1 78 6e db 67 c7 35 53 4a 44 3d 02 1c b0 51 99
46 d4 a2 d8 f4 96 4e 9c 11 e1 f1 1b 58 9b 87 58 6d 1d d6 82 0d fa 74 90 4d 43 86 5e c5 cd 34 fb
34 fa a9 76 90 9f e7 57 d5 47 8a 19 36 7a b3 f5 59 d4 84 e9 ef 1e 84 7e e5 47 a1 38 18 84 9d d5
f8 a6 84 5f e3 bd 3c ae c4 a6 8f e5 01 fa f6 39 57 ad e5 fb 7c 1e 1a f4 ba 27 a2 77 2a 93 ea db
da 9a d2 1a 99 53 92 f2 05 61 cd 10 f4 fd 81 95 e1 5f 2e 98 c6 55 bc f8 14 38 eb 24 4c da e7 30
dd 66 d0 72 2a e3 40 60 42 0a 12 9a 85 26 61 97 16 99 57 ad 26 b7 7d 73 04 e7 70 25 98 07 60 e4
ba a4 44 c7 33 29 89 77 57 1e 04 fc 42 39 23 f3 05 29 6c 70 66 82 2e 9e 8a f6 62 93 e1 24 78 d3
07 f3 95 54 22 71 20 b5 2f 9f 32 e9 71 58 3a 48 5a 06 02 13 d7 58 f2 46 ef 06 6b b5 af 9e ad 43
38 2b 5c 7f 94 b1 f2 3d 3a 3e 49 56 be 6c 95 7b ad 31 c7 36 3b f4 83 ce 53 32 cb e2 eb 58 34 3c
c5 fb db 80 35 7a f1 b5 c4 16 94 f3 92 23 75 ff 46 0f b5 be 35 84 60 71 42 0d 79 bc ac 06 b1 c8
d3 99 a0 bb c5 82 c8 b5 f8 60 19 b4 9d 20 ac f6 0d 8d 30 7e 40 d4 b9 fd d3 59 b5 bb 1d ea ba 0b
8b c1 81 bb 92 d6 b5 7d df dc 8e 54 08 88 cf b7 12 c9 ff fa 00 c6 2d a7 ed 8c b6 9c 60 fb b8 8b
18 03 fc 4b 0f 44 1f 15 74 c6 8f 31 3f fb 05 f2 62 38 6c f8 1c 7f 9a 98 a2 59 6d 6b 67 05 d7 af
a7 d6 39 0c bf 1c bd a2 6b ec 2d dc 17 7d e3 c3 f7 21 75 b8 61 69 d1 02 8c 95 f6 de 1b 9b a8 94
2b a9 ec 95 b9 e0 18 a3 79 e9 73 ed 83 31 49 87 1e e6 e4 ca 48 63 4f e1 ac 4f 33 34 53 af d3 84
11 cf 0a 16 6a ef 1a 9a 2d ee 4f 0e 7c be 78 f1 6e 50 cc 0a af 63 cb 59 f5 59 fc 71 e8 01 22 ab
61 44 5b ed 05 d1 86 1c 11 be ce 95 9d 8c e5 18 d7 7c 46 08 ec 62 9d 9c 5e ed 8a 6f 74 37 ec c0
66 76 dd af 89 38 50 a6 b9 a7 24 85 12 e8 a0 b4 b3 d7 55 10 4e 67 3a 19 b2 dd f2 76 bd ba f2 e6
66 8e 5a 6a b5 db 10 a2 e1 e1 13 77 df 11 a7 86 f9 b2 6e ae 88 39 bf 39 f4 8e c2 1d 18 bd 13 dc
02 81 df ab 02 3f 0b 6e 90 d9 6b 03 4c d5 5f 54 cd b3 62 c6 df 5a 0c e1 25 cf 1e 0a f4 40 69 08
d8 b8 78 7d 75 0f cd c8 77 51 2f 49 62 18 61 ad bc 79 1b 01 4e f8 0b 62 57 50 10 ba 6e 7e 48 74
5e 89 10 26 23 c2 6d 64 e8 54 a1 da 45 94 26 59 d2 c9 08 3f 4e 7d 9b 9a ed 1f c1 bb 5c 34 94 95
5a 35 79 67 2a cb 57 02 bb 37 7a 70 a1 fd 4f ef 2b 78 25 46 23 6f 82 bd 14 be 39 64 0a 64 3d ad
00 15 2f 61 57 df b0 f4 51 cf bb 06 88 d7 0a 79 4d e4 2d f3 79 4c c3 06 db ce 87 ec 94 1f 30 df
26 e3 a2 cf ba df 1b e6 42 8c 62 bf 98 3d 9e 06 76 07 7f a6 b7 4a 87 d2 e6 a5 25 b7 a9 3d 8b fa
5f 0f 10 a0 e0 56 e2 1c 1f 55 02 c1 74 38 eb 9f db 6c 7d 58 24 89 f9 5a 4d 23 d6 38 da 54 7a a5
0e f3 2a 18 11 b8 18 d0 98 6f 23 d7 22 38 33 d3 d7 50 18 d2 b3 2d b8 ee 77 0a 63 61 43 42 e4 11
a3 bd b9 04 a4 98 df 00 76 46 11 68 87 14 52 16 2b 32 d2 85 c3 55 bb ce b7 cc 5a 23 9f aa b7 ec
5a 12 47 b8 d0 40 62 ab 8b e2 10 37 e8 ec 61 57 ca f8 7b d4 80 ee cc f6 4c 88 85 55 9a ce 17 17
f3 95 33 36 88 c9 ec 1b b6 8c 08 f2 e1 bd 6f f1 f0 fb f0 b3 cb 06 91 5a 86 dd 32 33 d3 0e 7c e9
91 a5 d8 aa 0f 7b 38 7f 7d 0d dd b4 1d 24 3c 3c 86 ad 73 41 0d e2 d9 60 77 68 db 1a b1 94 6f 84
a3 68 ea 77 ed 94 6d a0 09 05 7c ec 3a 2d c7 93 55 dc 1c 19 2e 94 6b 55 c4 1d 5d 5a 23 ac fd e9
1c de ff 82 67 de af 6e 4e 0d 01 2f b2 24 b1 ad b6 cd ef 66 d6 02 15 3b 7e e9 da 29 22 83 37 f7
ad b4 c0 39 73 3e 5f cb fb aa aa 5b ae 36 f1 39 92 0d 7a 18 a0 d4 85 7e 3a d9 1a 2d cd 6b 35 c3
0f 54 13 75 6a 39 49 d9 ba 27 18 bf c1 5b 59 39 63 bf 64 dd 87 4f d2 23 5b 24 74 28 f6 b4 b7 8c
0c aa 05 ee 17 91 6e d6 7f 0d 9b cc f2 9f 05 a8 5c 3f 88 06 cf 78 41 0a 95 13 c5 f8 ef 95 e6 bc
b6 a0 b9 22 2e 1d c5 02 db d6 f5 ac 7c d8 b3 76 75 47 9b 09 fc 11 b1 1a 47 7f 5e 64 39 14 30 51
55 a0 c7 95 14 55 d1 af 8b 4b 92 db 33 84 95 f4 7c 04 d5 15 20 8e ea 82 47 c3 b3 50 e0 c9 a7 82
c0 ff 22 62 92 dd f8 ea 3b 95 8c 61 3b 47 4b a6 e1 e6 bf 4e 24 69 03 94 65 5d 2d 88 a5 bb 69 c1
58 f4 dc 64 b8 87 e4 8b 22 a8 bd ee 6e 90 87 3d c3 c4 74 e7 99 20 2b db 0a 09 cc 31 be 2a 28 6f
7c bc 8c 40 36 eb 0a ac a6 ee aa 73 43 0e 20 ad fd 20 9d df 0a de 7d 92 74 b8 c1 1c 37 8c d9 06
65 85 34 39 8f e6 f6 46 69 fa 85 6a 86 37 c6 e7 11 4d 40 18 c0 a4 1d f3 1b dd 66 ac 3e 51 55 40
f8 1d 24 81 bc be 0e 6d f6 b0 01 ab 33 87 64 a9 ec 35 4d 63 02 08 cb 11 02 33 3f 0b 24 24 2b 2e
d9 ea 0a 64 d1 cf c4 24 87 fb 5a 1d e4 1c ae f4 b9 36 f3 41 00 85 4a b0 c1 52 41 ca 64 ad fb 94
02 6e 8d b8 b5 58 4c 53 e4 32 c5 be cd 76 3d f7 cf fa 5f 66 06 ed aa 9b bd 3b b6 a6 29 81 b2 03
de c7 e3 c5 38 8a 30 08 34 5b 7e c3 e6 77 d5 67 d0 84 6f 42 3f c6 67 4d 9a 45 17 53 31 c2 7f f7
70 bc 2a 10 b1 1d 27 d3 c3 7b be 3a 90 ce 99 9d a5 10 c0 90 b1 5c ed 74 ef e0 b4 4b 79 eb bc d3
e1 3c 66 5a dd 35 24 41 27 57 7a 8f f3 0a 00 5b 10 43 49 e4 85 47 ed 9b fc e3 df 26 85 08 17 dc
0a 98 16 b6 04 24 78 52 ca 5b 89 fa 54 f2 54 f7 cd 64 32 22 ea 8a 28 92 4a 50 93 86 0d 98 4e 7d
6a 04 33 42 ef 23 95 f1 5e 76 ab c5 a4 36 16 45 a7 8b 02 33 8c 3c 21 16 87 3d aa aa cd cb f1 f6
bb 41 1f 8e 11 6f a1 a1 2a e6 44 5a 5c 5d ab 1d 3e a7 84 ba f1 77 67 20 3a 3e 21 4d b4 5f 2a 2f
02 81 91 e9 c4 6c 83 55 4a 90 d0 c3 19 74 f6 fd 77 49 3d 7b 5c 32 f4 e6 0a 72 a6 8d 07 9b 6b 5d
d7 f9 31 1f 3e f5 6a a6 43 89 b5 1c 25 2d 5e 9a e6 57 5d 3a 98 9e 0a 6a bb ff c0 f4 6d 51 c4 fd
9b 71 c9 bc 2c 78 40 25 72 c5 df 3a 0d e6 bb a2 b8 c8 7d 73 81 8d b3 66 fc 28 e9 a2 3d 3b 06 47
e4 46 8f 75 54 bf 59 f0 66 4f 67 ff 78 14 11 b8 be 26 fa 6a 54 bd 83 93 a4 c3 cf e2 bd 72 e3 4d
6f 91 95 9a 9c bf 6b 98 81 ca 96 9a 10 e3 26 7a 0d c4 80 19 10 e2 48 57 84 f7 42 b4 47 82 58 53
81 0d 96 74 36 91 3b a9 46 db 07 cc b0 4a 04 1b c4 5e b3 6c 39 9d e3 7c 92 8c b2 ba f2 d6 f4 2c
6f d0 83 8c d7 3b 7a dc f5 db ae 4f b8 f6 64 82 f2 f7 8b eb ae b1 d9 ce 74 37 66 cf 20 32 7d 5d
d0 0b 9f 46 79 74 37 e6 88 e3 50 88 da 9b 72 50 71 25 66 b2 0e 56 be 7c 83 9a 21 3b c5 a4 67 bb
c4 72 a8 6d 23 bb 99 0c b7 c0 b8 da e7 05 f6 d1 07 ef 6b b3 53 44 d3 61 fc 0c c2 0a 8c f8 05 f3
65 2d d5 ea 79 46 19 5b 2b 9c 8d 0b 98 66 72 4d ab 37 f7 6a 8c 6e c5 54 e1 af e9 0d 37 96 bb 52
30 13 fa 1d b9 2c fd 5c e2 03 49 6a 7e 23 a2 eb 62 e2 da 26 04 1a 42 2e 78 db 2a 23 e2 74 b9 c3
d9 2f 89 74 fb f2 29 81 25 3d ac 2b 6e 71 cb a0 96 84 2d 62 e9 d1 96 0e ca ac f5 af 63 4a e9 68
c7 a6 bb 01 e0 b7 bf a7 38 a1 3c 53 2c 29 e8 4c 12 6d 9b 82 9b 8c ec 20 bd c0 2e 4b c2 c7 01 9f
81 bf 44 b1 3b f1 c9 59 b3 d9 de 5b c2 89 13 74 1a 8e b1 09 ec f7 a9 33 70 cb 50 ac 94 ed 25 ea
81 12 e6 21 a3 e4 9e a1 dc 0e 83 15 f1 30 95 f2 3f 6d 38 61 45 b9 3a 12 05 75 fc ad 88 56 75 d5
e9 63 0c 2f 99 31 0a ee 5a cf 57 38 41 98 87 78 63 58 67 02 d7 07 7c c7 05 44 04 6c ff 7e 8e 31
8d 27 1e ab a5 a6 af 75 6c 67 2e 30 ce 5f 93 3a 73 05 a6 c1 01 48 4f db 93 b4 7d 33 8f 62 8e 78
21 a1 63 08 e7 12 9c 1d b5 3a 7e d5 1e 54 fc ef bf 9f aa 6e 6d b2 82 f0 c4 62 94 8b 6b f9 1d 95
c8 0a a5 6a fe 4a a0 c3 85 d0 89 1e 39 0a 6c a7 0f 1e a0 82 81 f8 a1 7a e0 96 dc ee 3e d2 42 c0
89 63 a7 d5 b0 48 79 27 00 36 ca d0 72 fe e3 e3 b4 dd d9 0d 58 09 59 a2 4a 79 e2 93 a4 ed fb 22
6b 70 3f b4 69 82 a5 17 7b 4d 89 7b a0 25 ff 3a a7 2d 95 c9 f5 01 8d a3 1e c9 a5 88 77 3d bf ec
59 e1 21 bb 79 7f 15 b4 76 2e 1f 4b df 30 23 e5 16 8e d2 99 d2 14 b8 b3 4b 51 6b b5 e8 3c 7f f5
29 fd 2d a8 06 b6 ee 1d 05 48 a8 ba 2d 5a 44 c3 e7 4c 79 35 6b 9a 77 33 76 cb 45 f6 98 d4 a2 8b
91 2e 92 b9 19 c5 50 5f 1c 95 74 cb d0 cd a1 80 16 8f d8 91 25 1b 66 7a f8 52 3f f7 69 29 bb 7c
22 e6 08 29 41 75 a4 82 37 3f 8d ae 7b 7c e0 44 60 ea cc ca ce f9 d2 86 e1 69 d3 03 18 8d 5e d4
14 a7 70 bd 8a eb cf 49 67 99 98 f4 9c 32 0d f2 dc fb 6c f2 ad c4 8f 61 a6 49 66 27 cb cf a0 24
e0 93 50 6a 22 32 f0 5c 18 f1 09 df c5 06 c9 9c 90 3d 36 4b 91 c4 ee 41 9b a3 31 5c 8b 02 25 6f
aa 5a 8b 4f d4 a7 5e 85 97 7b ae 66 41 16 a2 68 d5 bf 50 f4 61 a1 91 d3 c7 e1 8d 67 42 86 7d 7c
e6 f3 2a c1 68 86 64 48 59 d1 76 28 f9 73 53 45 e9 24 ca 22 8b ea 65 06 ee c0 96 fa d8 d2 c4 08
f7 38 74 d6 0d 9f 0b db 7c 94 0e 8f de b2 34 c7 93 30 a7 81 bb 05 2a 49 7e ad a3 df 2c 1d 9b fe
18 33 63 59 0b 33 80 20 1a b6 fd 2b 65 d4 9c f6 2b 7d 37 b5 5f 12 cf 48 30 7c b7 14 b3 61 1e 4c
58 69 c1 4a af 6a ff ca c9 f0 a4 37 c6 9b 7b 66 0c e0 00 fe b6 69 e1 4b 5b 8e 57 1d 48 0b a9 94
02 81 a9 80 54 b3 5f ca 79 3f 8a 15 86 3e 5a 56 a2 fd 71 0f fc 1d 9a ff e7 c7 38 55 91 53 a9 33
37 a5 48 ba 29 9f c8 ab d0 ea 2b 57 d2 6f 71 39 ca 77 98 87 e4 a3 99 0a 35 ca 89 5d 54 17 5b 69
7a 65 af f9 4a 61 9f 2b 3e d4 ae a4 3e 4b 40 41 9f 03 68 15 c9 e4 39 a6 91 de ca c5 85 c8 cd a7
27 65 80 d7 33 27 57 35 31 8b 2a a5 5a 35 b3 e5 76 ed d7 98 9d d7 df 62 14 e5 4f 10 f8 ab 9a 85
f4 15 b3 42 d0 1d 41 15 7e db dd 87 25 c6 76 04 bc d7 3b 34 8a f1 f4 af 32 ba c0 d6 c9 a8 7f 30
2c 77 5a e6 3c 21 53 a1 47 e0 c0 ef 37 93 1b 91 62 8f 73 c4 94 81 16 5a 62 10 3b 93 ff fa 8a 21
af 6f 48 9f 58 9d 13 a5 75 b3 53 90 a1 98 68 1e 7a a7 aa ee 88 67 37 43 47 ca 59 b8 d2 51 3b 7e
22 97 49 9a 78 f8 0e 90 b2 be 11 6e 7a 3c 02 69 ef d5 86 6e b0 bd 19 b8 80 95 c6 37 37 1f 7f 61
95 d0 66 ad 67 07 b3 b4 40 97 4d 4b 34 13 f2 e9 df 48 63 9c ce 29 f0 ce c0 97 40 0a 0f 5f 0d 36
f2 99 3a d5 20 f6 2d 49 ad a8 96 f2 12 7d 21 7e 2e b7 98 8c 44 8c 01 fa a0 3e 4b 61 8a 80 67 9b
c7 96 6f f3 f1 f8 1f 0e 17 60 6f 46 65 80 33 5f 48 13 d7 49 70 ec 70 00 e9 88 3a 84 c5 cc 2d e8
de 9d 53 95 11 1a 27 67 ee 47 30 a5 ee f1 54 f4 56 f4 e5 58 80 59 d4 af 5d 44 41 59 80 29 b4 7b
f8 73 27 58 ec b9 71 2b 91 ed de 03 fa fd 71 71 f5 e2 a2 a2 3f 2e 7c ca 60 3c 64 bc 6c c1 d8 55
46 11 2b 24 be b9 f2 ce ad 0e 70 2c a2 9e 53 29 05 79 82 3d e3 3d 45 22 26 56 95 ed 6c bf 4b 39
be 54 e2 8f 98 f0 0e d5 c8 c5 11 c6 90 e7 08 f5 63 e6 e5 e1 4a a4 1c 4c 0f bf de 45 a2 71 93 98
e9 75 1d b9 09 c4 3d 7a f9 6f f5 59 5c 3f 74 7c de a3 37 a0 bb 91 a0 e1 62 f1 9e 9d 3b b4 3a 78
e3 ee 2e b3 ad 1e 92 ed f7 ff ff fa b7 fe 42 33 33 82 0d 8f 48 fe a8 48 54 c7 3c 6a d7 fb fb db
ff df 6e af 3b a1 1b e4 b7 69 a9 b4 85 17 11 b2 b2 a3 00 2c d1 3f 01 e3 65 73 c2 7e 43 28 44 ec
de cf 72 cd bd 0c 7c ee 63 bf a6 ac cb 20 ae f2 38 c6 93 46 8d ce f6 ef 1f d2 9c a4 d8 21 39 b0
e7 d8 a3 4b ba 02 c3 b2 ab 3a c9 09 68 2e 89 d1 2d 3f c2 13 b5 59 d9 8c 0b da f3 5b 19 44 12 da
e9 92 be a0 38 cf 84 48 1e 6f 0b 8d a2 ff b2 e4 8a 38 88 c3 b2 b8 c7 c3 8a ed cf d6 59 0c d0 41
3d e2 37 95 85 30 9d ce 7c 63 3f c0 40 de 45 be 49 8c 1d 32 7c c8 1a f6 88 bd 9d 97 22 21 23 6e
72 6d a0 ad 27 ea 47 e3 93 45 8f 36 77 e8 3f 2f f1 fb 2a d0 dc f8 3e 5f d3 7d d4 4e 8e 19 c1 08
ab 63 ab 98 b1 85 95 1e 45 ed b5 05 9a 28 79 63 46 a8 5b 9b 42 4e 37 af a3 41 77 52 30 85 78 27
44 76 36 e5 2e a7 82 0e f8 90 f8 1f 9a 05 ba 83 05 65 23 7e c7 73 98 34 27 06 8d 42 38 44 ee 6d
9d 33 62 d0 bc ae 80 06 0a 19 cf fc 0b 6b a4 7b c8 51 3d fa 92 53 2c 45 f3 6f f2 43 25 50 91 4b
4e 4c e3 54 8e b2 8c bf fd a7 7b e4 75 f8 3e 66 e6 e8 e7 78 ed 2b af 35 ce aa f0 ba eb e3 80 82
cd c8 43 99 94 b0 b0 44 ee be 9c 27 22 bf 51 26 53 73 72 95 86 bf ce 5f 6f 7b db bb 46 fe e9 72
a6 3e e6 bb be ee 44 0f 92 dc f9 17 e9 60 7d b8 ca d0 01 1a 7b 9e fc e0 a1 8e 3c 39 fd f9 4d ad
52 90 ad 35 05 f4 fd b2 07 1e 6b d6 54 d3 8a 68 9b bb 04 ae ac 21 22 b0 bb 2d a0 86 8e 27 69 23
2f 72 07 19 44 7d 21 d6 b9 ba 60 31 a9 e9 de 11 f6 8b 27 51 a8 b3 84 62 bb 96 59 92 51 9b ce cc
81 b6 67 c6 92 60 81 f9 fa a3 1f 38 be bf b0 70 64 91 84 22 0c de 4b 9d 73 14 57 b5 02 8d 0d 74
参考资料:
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936