📄 usb_desc.lst
字号:
202 // Copy of HID class descriptor embedded in configDesc below
203 //HID类描述符,HID类主要的目的是识别HID通信中使用的其他描述符,可以有7个或9个字段
204 const uchar code hidClassDesc[] =
205 {
206 9, // Descriptor length
207 0x21, // Descriptor type (HID)
208 //0x21表明是人机接口类Hid;
209 0x10,0x01, //changed on April 30, 2004
210 // HID release (1.10)
211 //这一次没有用到了iword结构
212 0, // Country code (none) //硬件不是本地化,字段是0,
213 1, // Number of HID class descriptors to follow
214 0x22, // Report descriptor type (HID)
215 REPORT_DESC_LEN, 0 // Byte length of report descriptor
216 } //REPORT_DESC_LEN是设备描述符的总长度,应该是18个字节
217
218 ;
219
220 const uchar code hidClassDescSize = sizeof(hidClassDesc);
221
222 //我固件即设备的配置描述符
223 const uchar code configDesc[] =
224 {
225
226 9, // Configuration descriptor length
227 2, // Descriptor type (configuration)
228 34, 0, // Total length of this descriptor
229 1, // Number of interfaces
230 1, // Configuration value
231 0, // Index of string descriptor (none)
232 0xC0, // Self powered, no remote wakeup
233 25, // <100 mA max power consumption, 2mA steps
234
235
236
237 /*===== Interface =====*/
238
239 9, // Descriptor length
240 4, // Descriptor type (interface)
241 0, // Number of interface
C51 COMPILER V7.06 USB_DESC 10/15/2004 20:55:30 PAGE 5
242 0, // Alternate setting
243 1, // Number of endpoints (except EP0)
244
245 // if you would like to disable EP1, easily write 0 (and 1 back for EP1/display copy refresh enable)
246 3, // Class code (HID)
247 0, // Subclass (none)
248 0, // Protocol (none)
249 0, // Index of string descriptor (none)
250
251
252
253
254 /*===== HID class descriptor (copy of hidClassDesc) =====*/
255
256 9, // Descriptor length
257 0x21, // Descriptor type (HID)
258 0x10,0x01, //changed on April 30, 2004 // HID release (1.10)
259 0, // Country code (none)
260 1, // Number of HID class descriptors to follow
261 0x22, // Report descriptor type (HID)
262 REPORT_DESC_LEN, 0, // Byte length of report descriptor
263
264
265
266
267 /*===== Endpoint descriptor =====*/
268
269 7, // Descriptor length (7 bytes)
270 5, // Descriptor type (endpoint)
271 0x81, // Address (IN1)
272 3, // Attributes (interrupt)
273 8, 0, // Maximum packet size (8 bytes)
274 100 // Polling interval (in msec)
275 }
276 ;
277
278
279
280
281
282
283
284
285
286 // Language IDs //字串描述符
287 #define SD0LEN 4
288 const uchar code string0Desc[] =
289 {
290 SD0LEN, DT_STRING , // Size, Type
291 0x09, 0x04 // LangID Codes
292 }
293 ;
294
295
296
297
298
299 // Manufacturer String
300 #define SD1LEN sizeof("ST Microelectronics")*2
301 const uchar code string1Desc[] =
302 {
303 SD1LEN, DT_STRING, // Size, Type
C51 COMPILER V7.06 USB_DESC 10/15/2004 20:55:30 PAGE 6
304 'S', 0, // Unicode String
305 'T', 0,
306 ' ', 0,
307 'M', 0,
308 'i', 0,
309 'c', 0,
310 'r', 0,
311 'o', 0,
312 'e', 0,
313 'l', 0,
314 'e', 0,
315 'c', 0,
316 't', 0,
317 'r', 0,
318 'o', 0,
319 'n', 0,
320 'i', 0,
321 'c', 0,
322 's', 0
323 }
324 ;
325
326 // Product String
327 #define SD2LEN sizeof("DK3200 Evaluation Board")*2
328 const uchar code string2Desc[] =
329 {
330 SD2LEN, DT_STRING, // Size, Type
331 'D', 0, // Unicode String
332 'K', 0,
333 '3', 0,
334 '2', 0,
335 '0', 0,
336 '0', 0,
337 ' ', 0,
338 'E', 0,
339 'v', 0,
340 'a', 0,
341 'l', 0,
342 'u', 0,
343 'a', 0,
344 't', 0,
345 'i', 0,
346 'o', 0,
347 'n', 0,
348 ' ', 0,
349 'B', 0,
350 'o', 0,
351 'a', 0,
352 'r', 0,
353 'd', 0
354 } ;
355
356 // Serial Number String
357 #define SD3LEN sizeof("S/N:006/2008")*2
358 const uchar code string3Desc[] =
359 {
360 SD3LEN, DT_STRING, // Size, Type
361 'S', 0, // Unicode String
362 '/', 0,
363 'N', 0,
364 ':', 0,
365 '0', 0,
C51 COMPILER V7.06 USB_DESC 10/15/2004 20:55:30 PAGE 7
366 '0', 0,
367 '6', 0,
368 '/', 0,
369 '2', 0,
370 '0', 0,
371 '0', 0,
372 '8', 0,
373 };
374
375
376 const uchar code stringXDesc[2] =
377 {
378 2, 0, // Size, Type
379 };
380
381
382 // Table of String Descriptors
383 const uchar * const code stringDescTable[] =
384 {
385 string0Desc,
386 string1Desc,
387 string2Desc,
388 string3Desc,
389 stringXDesc //no string
390 } ;
391
392 /* *************************************************************************
393 *** ***
394 ** *** End of File *** **
395 *** ***
396 ************************************************************************* */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = 248 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -