meykj 0 1 октября, 2019 Опубликовано 1 октября, 2019 · Жалоба Здравствуйте, хочу разобраться с usb. Для примера решил сделать custom hid устройство. Так вот написал самодельный драйвер на CMSIS. Устройство определяется в системе правильно. Но передача данных не работает. По сообщениям в анализаторе судя по всему драйверу не нравятся string дескрипторы. Почему не знаю. Если сгенерировать код в кубе то же самое. В чем может быть проблема? Если есть рабочий пример на f429zit скиньте пожалуйста. Спойлер 000000: PnP Event: Device Connected (UP), 2019-10-01 15:43:58,4981010 (1. Device: My device (pid.codes Test PID)) The USB device has just been connected to the system. 000001: Get Descriptor Request (DOWN), 2019-10-01 15:43:58,4981106 +0,0000096 (1. Device: My device (pid.codes Test PID)) Descriptor Type: Device Descriptor Index: 0x0 Transfer Buffer Size: 0x12 bytes 000002: Control Transfer (UP), 2019-10-01 15:43:58,4982936 +0,0001830. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 12 01 00 02 00 00 00 08 09 12 01 00 00 02 01 02 ................ 03 01 .. Setup Packet 000003: Get Descriptor Request (DOWN), 2019-10-01 15:43:58,4983099 +0,0000163 (1. Device: My device (pid.codes Test PID)) Descriptor Type: Configuration Descriptor Index: 0x0 Transfer Buffer Size: 0x9 bytes 000004: Control Transfer (UP), 2019-10-01 15:43:58,4985354 +0,0002255. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 09 02 29 00 01 01 00 E0 32 ..)....а2 Setup Packet 000005: Get Descriptor Request (DOWN), 2019-10-01 15:43:58,4985449 +0,0000095 (1. Device: My device (pid.codes Test PID)) Descriptor Type: Configuration Descriptor Index: 0x0 Transfer Buffer Size: 0x29 bytes 000006: Control Transfer (UP), 2019-10-01 15:43:58,4987822 +0,0002373. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 09 02 29 00 01 01 00 E0 32 09 04 00 00 02 03 00 ..)....а2....... 00 00 09 21 11 01 00 01 22 26 00 07 05 81 03 02 ...!...."&...Ѓ.. 00 05 07 05 01 03 02 00 05 ......... Setup Packet 000007: Select Configuration (DOWN), 2019-10-01 15:43:58,4987994 +0,0000172 (1. Device: My device (pid.codes Test PID)) Configuration Index: 1 000008: Select Configuration (UP), 2019-10-01 15:43:58,4990083 +0,0000010. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Configuration Index: 1 Configuration Handle: 0x10989620 000009: Class-Specific Request (DOWN), 2019-10-01 15:43:58,4990166 +0,0000083 (1. Device: My device (pid.codes Test PID)) Destination: Interface, Index 0 Reserved Bits: 34 Request: 0xa Value: 0x0 Send 0x0 bytes to the device 000010: Control Transfer (UP), 2019-10-01 15:43:58,4991632 +0,0001466. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe Setup Packet 000011: Get Descriptor Request (DOWN), 2019-10-01 15:43:58,4991865 +0,0000233 (1. Device: My device (pid.codes Test PID)) Descriptor Type: HID Report Descriptor Descriptor Index: 0x0 Transfer Buffer Size: 0x66 bytes 000012: Control Transfer (UP), 2019-10-01 15:43:58,4994164 +0,0002299. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 05 0C 09 01 A1 01 85 01 09 01 15 00 26 FF 00 75 ....Ў.….....&я.u 08 95 01 B1 82 85 01 09 01 91 82 85 02 09 02 75 .•.±‚…...‘‚…...u 08 95 01 81 82 C0 .•.Ѓ‚А Setup Packet 000013: PnP Event: Query ID (UP), 2019-10-01 15:43:58,4998351 +0,0004187 (1. Device: My device (pid.codes Test PID)) Device ID: USB\VID_1209&PID_0001 000014: PnP Event: Query ID (UP), 2019-10-01 15:43:58,4999088 +0,0000737 (1. Device: My device (pid.codes Test PID)) Hardware IDs: USB\VID_1209&PID_0001&REV_0200, USB\VID_1209&PID_0001 000017: Get Descriptor Request (DOWN), 2019-10-01 15:43:58,8163532 +0,3160812 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x2 Transfer Buffer Size: 0x20a bytes LanguageId: 0x409 000018: Control Transfer (UP), 2019-10-01 15:43:58,8165216 +0,0001684. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 14 03 4D 00 79 00 20 00 64 00 65 00 76 00 69 00 ..M.y. .d.e.v.i. 63 00 65 00 c.e. Setup Packet 000019: Get Descriptor Request (DOWN), 2019-10-01 15:43:58,8168660 +0,0003444 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x2 Transfer Buffer Size: 0x20a bytes LanguageId: 0x409 000020: Control Transfer (UP), 2019-10-01 15:43:58,8170165 +0,0001505. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 14 03 4D 00 79 00 20 00 64 00 65 00 76 00 69 00 ..M.y. .d.e.v.i. 63 00 65 00 c.e. Setup Packet 000021: Get Descriptor Request (DOWN), 2019-10-01 15:43:59,8245625 +1,0075460 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x3 Transfer Buffer Size: 0x402 bytes LanguageId: 0x409 000022: Control Transfer (UP), 2019-10-01 15:43:59,8247647 +0,0002022. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 0C 03 31 00 32 00 33 00 34 00 35 00 ..1.2.3.4.5. Setup Packet 000023: Get Descriptor Request (DOWN), 2019-10-01 15:43:59,8247822 +0,0000175 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x1 Transfer Buffer Size: 0x402 bytes LanguageId: 0x409 000024: Control Transfer (UP), 2019-10-01 15:43:59,8250076 +0,0002254. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 0C 03 49 00 74 00 73 00 20 00 49 00 ..I.t.s. .I. Setup Packet 000025: Get Descriptor Request (DOWN), 2019-10-01 15:43:59,8250670 +0,0000594 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x2 Transfer Buffer Size: 0x402 bytes LanguageId: 0x409 000026: Control Transfer (UP), 2019-10-01 15:43:59,8252570 +0,0001900. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 14 03 4D 00 79 00 20 00 64 00 65 00 76 00 69 00 ..M.y. .d.e.v.i. 63 00 65 00 c.e. Setup Packet 000027: Get Descriptor Request (DOWN), 2019-10-01 15:44:00,3206128 +0,4953558 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x2 Transfer Buffer Size: 0x20a bytes LanguageId: 0x409 000028: Control Transfer (UP), 2019-10-01 15:44:00,3207602 +0,0001474. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 14 03 4D 00 79 00 20 00 64 00 65 00 76 00 69 00 ..M.y. .d.e.v.i. 63 00 65 00 c.e. Setup Packet 000029: Get Descriptor Request (DOWN), 2019-10-01 15:44:00,3210908 +0,0003306 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x2 Transfer Buffer Size: 0x20a bytes LanguageId: 0x409 000030: Control Transfer (UP), 2019-10-01 15:44:00,3212461 +0,0001553. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 14 03 4D 00 79 00 20 00 64 00 65 00 76 00 69 00 ..M.y. .d.e.v.i. 63 00 65 00 c.e. Setup Packet 000031: Get Descriptor Request (DOWN), 2019-10-01 15:44:00,8221648 +0,5009187 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x3 Transfer Buffer Size: 0x402 bytes LanguageId: 0x409 000032: Control Transfer (UP), 2019-10-01 15:44:00,8223657 +0,0002009. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 0C 03 31 00 32 00 33 00 34 00 35 00 ..1.2.3.4.5. Setup Packet 000033: Get Descriptor Request (DOWN), 2019-10-01 15:44:00,8223753 +0,0000096 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x1 Transfer Buffer Size: 0x402 bytes LanguageId: 0x409 000034: Control Transfer (UP), 2019-10-01 15:44:00,8224930 +0,0001177. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 0C 03 49 00 74 00 73 00 20 00 49 00 ..I.t.s. .I. Setup Packet 000035: Get Descriptor Request (DOWN), 2019-10-01 15:44:00,8225006 +0,0000076 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x2 Transfer Buffer Size: 0x402 bytes LanguageId: 0x409 000036: Control Transfer (UP), 2019-10-01 15:44:00,8226167 +0,0001161. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 14 03 4D 00 79 00 20 00 64 00 65 00 76 00 69 00 ..M.y. .d.e.v.i. 63 00 65 00 c.e. Setup Packet 000037: Get Descriptor Request (DOWN), 2019-10-01 15:44:01,3152936 +0,4926769 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x3 Transfer Buffer Size: 0x402 bytes LanguageId: 0x409 000038: Control Transfer (UP), 2019-10-01 15:44:01,3154996 +0,0002060. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 0C 03 31 00 32 00 33 00 34 00 35 00 ..1.2.3.4.5. Setup Packet 000039: Get Descriptor Request (DOWN), 2019-10-01 15:44:01,3155251 +0,0000255 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x1 Transfer Buffer Size: 0x402 bytes LanguageId: 0x409 000040: Control Transfer (UP), 2019-10-01 15:44:01,3157470 +0,0002219. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 0C 03 49 00 74 00 73 00 20 00 49 00 ..I.t.s. .I. Setup Packet 000041: Get Descriptor Request (DOWN), 2019-10-01 15:44:01,3157630 +0,0000160 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x2 Transfer Buffer Size: 0x402 bytes LanguageId: 0x409 000042: Control Transfer (UP), 2019-10-01 15:44:01,3159887 +0,0002257. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 14 03 4D 00 79 00 20 00 64 00 65 00 76 00 69 00 ..M.y. .d.e.v.i. 63 00 65 00 c.e. Setup Packet 000043: Get Descriptor Request (DOWN), 2019-10-01 15:44:02,3415104 +1,0255217 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x2 Transfer Buffer Size: 0x20a bytes LanguageId: 0x409 000044: Control Transfer (UP), 2019-10-01 15:44:02,3417323 +0,0002219. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 14 03 4D 00 79 00 20 00 64 00 65 00 76 00 69 00 ..M.y. .d.e.v.i. 63 00 65 00 c.e. Setup Packet 000045: Get Descriptor Request (DOWN), 2019-10-01 15:44:02,3430005 +0,0012682 (1. Device: My device (pid.codes Test PID)) Descriptor Type: String Descriptor Index: 0x2 Transfer Buffer Size: 0x20a bytes LanguageId: 0x409 000046: Control Transfer (UP), 2019-10-01 15:44:02,3432435 +0,0002430. (1. Device: My device (pid.codes Test PID)) Status: 0x00000000 Pipe Handle: Control Pipe 14 03 4D 00 79 00 20 00 64 00 65 00 76 00 69 00 ..M.y. .d.e.v.i. 63 00 65 00 c.e. Setup Packet Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iamnot 0 19 декабря, 2019 Опубликовано 19 декабря, 2019 · Жалоба Куб недогенерирует нормальный код, мышь и клаву делает, а custom нет. По крайней мере я не добился от него внятного результата. Попробуйте почитать вот этот материал, я по нему сделал и работает. Там правда на 103 й контроллер, но я под 042 сделал.https://habr.com/ru/post/208026/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться