ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
188948 Топик полностью
ASDFS mobile (08.04.2010 16:08, просмотров: 1) ответил il-2 на А можно в студию кусок(куски) кода с содержимым дескрипторов? В ознакомительных целях, так сказать.
С телефона непральна выразился наверное: без хаба у меня. #define USB_Class_EPbd_IN ep[1].in #define USB_Class_EPbsz_IN 64 #define USB_Class_EPbd_OUT ep[2].out #define USB_Class_EPbsz_OUT 64 #define USB_Class_EPbd_Ctrl ep[3].in #define USB_Class_EPbsz_Ctrl 16 const u8_t USB_DevDescriptor_HIDkbd[] = { // 12.01.0110.00.00.00.08.VVVV.PPPP.vvvv.ss.ss.ss.01 0x12, 0x01, 0x10, 0x01, 0x00, 0x00, 0x00, 0x40, 0x6E, 0x04, 0xC3, 0x52, 0x23, 0x01, 0x01, 0x02, 0x03, 0x01, }; const u8_t USB_CfgDescriptor_HIDkbd[] = { // 09.02.LLLL.01.01.ss.80.II // Config descriptor 0x09, 0x02, (9+9+9+7), 0x00, 0x01, 0x01, 0x00, 0xA0, 32, // 09.04.00.00.01.03.0b.01.ss // Interface descriptor 0x09, 0x04, 0x00, 0x00, 0x01, 0x03, 0x01, 0x01, 0x00, // Boot device // 0x09, 0x04, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, // Non-Boot device 0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, (30*2)+1/*+(15*2)+1*/+(13*2)+1, 0x00, 0x07, 0x05, 0x83, 0x03, 0x10, 0x00, 0x01, }; const u8_t USB_HIDDescriptor_HIDkbd0[] = { // [30*2+1] Main kbd 0x05, 0x01, // g; UsagePage GENERIC DESKTOP 0x09, 0x06, // l; Usage: Keyboard 0xa1, 0x01, // m; SOC; Application 0x85, 0x01, // g; Report ID // Alt Ctrl Shift 0x05, 0x07, // g; UsagePage KEYBOARD 0x19, 0xe0, // l; Usage Minimum: 0x29, 0xe7, // l; Usage Maximum: 0x15, 0x00, // g; Logical Minimum: 0x25, 0x01, // g; Logical Maximum: 0x75, 0x01, // g; Report Size: 0x95, 0x08, // g; Report Count: 0x81, 0x02, // m; Input; Data + Var // State LEDs // NumLock,CapsLock,ScrollLock,Compose,x, Mute,Battery run,Battery Low 0x95, 0x08, // g; Report Count: 0x75, 0x01, // g; Report Size: 0x05, 0x08, // g; UsagePage LED 0x19, 0x01, // l; Usage Minimum: 0x29, 0x05, // l; Usage Maximum: 0x09, 0x09, // l; Usage: Mute 0x09, 0x1B, // l; Usage: Battery run 0x09, 0x1D, // l; Usage: Battery Low 0x91, 0x02, // m; Output; Data + Var // main Kbd 0x95, 0x06, // g; Report Count: 0x75, 0x08, // g; Report Size: 0x15, 0x00, // g; Logical Minimum: 0x26, 0xff, 0x00, // g; Logical Maximum: 0x05, 0x07, // g; UsagePage KEYBOARD 0x19, 0x00, // l; Usage Minimum: 0x2a, 0xff, 0x00, // l; Usage Maximum: 0x81, 0x00, // m; Input; 0xc0, // m; EOC // [15*2+1] //0x05, 0x01, // g; UsagePage GENERIC DESKTOP //0x09, 0x80, // l; Usage: System Control //0xa1, 0x01, // m; SOC; Application // 0x85, 0x02, // g; Report ID // // Menu, Power, etc // 0x05, 0x01, // g; UsagePage GENERIC DESKTOP // 0x19, 0x81, // l; Usage Minimum: // 0x29, 0x8D, // l; Usage Maximum: // 0x15, 0x00, // g; Logical Minimum: // 0x25, 0x01, // g; Logical Maximum: // 0x95, 0x0D, // g; Report Count: // 0x75, 0x01, // g; Report Size: // 0x81, 0x02, // m; Input; Data + Var // // // Fill // 0x95, 0x03, // g; Report Count: // 0x75, 0x01, // g; Report Size: // 0x81, 0x01, // m; Input; Const //0xc0, // m; EOC // [13*2+1] generic IO 0x06, 0x00, 0xFF, // g; UsagePage CONSUMER PAGE 0x09, 0x01, // l; Usage: Consumer Control 0xa1, 0x01, // m; SOC; Application 0x15, 0x00, // g; Logical Minimum: 0x26, 0xFF, 0x00, // g; Logical Maximum: 0x75, 0x08, // g; Report Size: // ID[1] + Flags[15] + Format String[112] 0x85, 0x03, // g; Report ID 0x95, 127, // g; Report Count: 0x09, 0x01, // l; Usage: 0xB1, 0x00, // m; Feature; Data + Arr 0x09, 0x01, // l; Usage: 0x81, 0x00, // m; Input; Data + Arr // ID[1] + RW I/O[127] // 0x85, 0x04, // g; Report ID // 0x09, 0x01, // l; Usage: // 0x91, 0x00, // m; Output; Data + Arr // 0x09, 0x01, // l; Usage: // 0x81, 0x00, // m; Input; Data + Arr 0xc0, // m; EOC };