Hallo zusammen
Ich versuche hier ein HID-Device mit einem STM32F103 zum laufen zu
bekommen. Habe dazu CubeMX zur konfiguration verwendet. Grundsätzlich
funktioniert das ganze auch. Das heisst, das Device wird vom PC erkannt
und enumeriert und im Device Manager als HID angezeigt. Jedoch meldet
sich der STM immer mit wMaxPacketSize = 4 an, anstelle von 64.
Hatte jemand bereits ähnliche Probleme?
Habe Wireshark zu Überprüfung verwendet.
Descriptor [usbd_desc.c]
1 | __ALIGN_BEGIN uint8_t USBD_FS_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END =
|
2 | {
|
3 | 0x12, /*bLength */
|
4 | USB_DESC_TYPE_DEVICE, /*bDescriptorType*/
|
5 | 0x00, /*bcdUSB */
|
6 | 0x02,
|
7 | 0x00, /*bDeviceClass*/
|
8 | 0x00, /*bDeviceSubClass*/
|
9 | 0x00, /*bDeviceProtocol*/
|
10 | 64, /*bMaxPacketSize*/
|
11 | LOBYTE(USBD_VID), /*idVendor*/
|
12 | HIBYTE(USBD_VID), /*idVendor*/
|
13 | LOBYTE(USBD_PID_FS), /*idProduct*/
|
14 | HIBYTE(USBD_PID_FS), /*idProduct*/
|
15 | 0x00, /*bcdDevice rel. 2.00*/
|
16 | 0x02,
|
17 | USBD_IDX_MFC_STR, /*Index of manufacturer string*/
|
18 | USBD_IDX_PRODUCT_STR, /*Index of product string*/
|
19 | USBD_IDX_SERIAL_STR, /*Index of serial number string*/
|
20 | USBD_MAX_NUM_CONFIGURATION /*bNumConfigurations*/
|
21 | };
|
Angehängt ist ein Bild von Wireshark.
Danke schonmal.