请教FAE,使用CUbeMX建立USB_HOST工程,已经能够识别鼠标和键盘,也能收到数据。但是接上电磁屏(HID设备,类似鼠标),不能接收数据是什么原因?& f {6 p$ ~! K0 E8 t$ K 设备已经连接成功了如下: USB Device Connected USB Device Reset Completed PID: 6dh VID: 256ch Address (#1) assigned.! Q2 ]7 W, }' u! y5 [& g0 M: N; i Manufacturer : GAOMON# P) }, v4 s8 ]% _) j/ o Product : Gaomon Tablet Serial Number : Enumeration done.- y( ?. W, E: L4 m* I! T" u This device has only 1 configuration. Default configuration set. Device remote wakeup enabled Switching to Interface (#0) Class : 3h9 k+ @6 G4 T4 j$ D9 O1 } SubClass : 1h) v. }% H8 `' t' U( C/ ~! f* A6 k Protocol : 2h Mouse device found! HID class started. |
最全USB HID开发资料,悉心整理一个月,亲自测试
STM32固件库分享,超全系列整理
【中文文档】AN3965_STM32F40x和STM32F41x基于串口的IAP
USB Audio设计与实现
【MCU实战经验】+STM32F107的USB使用
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32 USB-HID通信移植步骤STM32 USB HID键盘例程
STM32F4中文用户手册
基于STM32F407的FreeRTOS阶段性的总结(13)
十分感谢 能具体一点吗?在usbh_ioreq.c usbh_core.c usbh_ctlreq.c usbh_pipes.c usbh_hid.c的哪个文件里面改?
bLength: 12h
bDescriptorType: 1h
bcdUSB: 200h6 I0 [/ L t2 F# R% O
bDeviceClass: 0h, M$ Y" y* f& q0 T2 S- j
bDeviceSubClass: 0h1 {' i4 w9 S5 A" ?9 `2 X0 c1 m/ K1 o
bDeviceProtocol: 0h
bMaxPacketSize: 8h
bDeviceClass: 0h
PID: 6dh
VID: 256ch
bcdDevice: 100h, v7 G; A3 J- g `0 Z% I2 b. a
iManufacturer: 1h
iProduct: 2h2 ~. q/ e2 O4 _: M2 ^3 M4 O
iSerialNumber: 3h2 j& ~* P. s5 y- U/ Q V+ U
bNumConfigurations: 1h+ o) m! a: ^9 d1 i" n
Address (#1) assigned.# _: B8 @. ?6 a z: M
bLength: 9h
bDescriptorType: 2h
wTotalLength: 3bh
bDescriptorType: 2h( F( _( D0 Q8 {) l* h* [
bNumInterfaces: 2h
bConfigurationValue: 1h
iConfiguration: 0h. O' p" y6 y* u' u1 Z4 n
bmAttributes: a0h; {3 {+ c7 r& d& i4 t
bMaxPower: f0h& @6 `- P+ {7 f; Q% _
Itf_Desc[0].bLength: 9h* s/ R) Y+ f2 i. ]1 }
Itf_Desc[0].bDescriptorType: 4h
Itf_Desc[0].bInterfaceNumber: 0h( T6 K& c! O; y7 p3 [7 T) S/ ~( T
Itf_Desc[0].bAlternateSetting: 0h+ j+ s/ X, X; T' e* V4 [
Itf_Desc[0].bNumEndpoints: 1h
Itf_Desc[0].bInterfaceClass: 3h2 k7 Q" d6 W! \
Itf_Desc[0].bInterfaceSubClass: 1h
Itf_Desc[0].bInterfaceProtocol: 2h* f U: J: \5 U1 T* G$ ]
Itf_Desc[0].iInterface: 0h
Itf_Desc[0].Ep_Desc.bLength: 7h# i* Y+ @: v% ~8 K z1 q
Itf_Desc[0].Ep_Desc.bDescriptorType: 5h6 F! Z p# ~- z, O) _
Itf_Desc[0].Ep_Desc.bEndpointAddress: 81h
Itf_Desc[0].Ep_Desc.bmAttributes: 3h6 F |/ `2 ^, ]7 V* s; Y3 t6 h) b5 G/ l
Itf_Desc[0].Ep_Desc.wMaxPacketSize: 40h6 T+ d( W" R: S' ?% E, W
Itf_Desc[0].Ep_Desc.bInterval: 2h
5 ~8 b( o4 c# i: H$ h
Itf_Desc[1].bLength: 9h
Itf_Desc[1].bDescriptorType: 4h
Itf_Desc[1].bInterfaceNumber: 1h
Itf_Desc[1].bAlternateSetting: 0h: q j, [' k! Z" Y0 B
Itf_Desc[1].bNumEndpoints: 1h
Itf_Desc[1].bInterfaceClass: 3h
Itf_Desc[1].bInterfaceSubClass: 1h
Itf_Desc[1].bInterfaceProtocol: 2h
Itf_Desc[1].iInterface: 0h
Itf_Desc[1].Ep_Desc.bLength: 7h' r% s5 u" |; ]! ]( X) f1 M: F$ h9 |
Itf_Desc[1].Ep_Desc.bDescriptorType: 5h4 F6 L2 @( f N2 w
Itf_Desc[1].Ep_Desc.bEndpointAddress: 82h( H/ i# ], j3 e p; ~6 g
Itf_Desc[1].Ep_Desc.bmAttributes: 3h8 t4 c0 G5 m) ?# C# V0 v. k
Itf_Desc[1].Ep_Desc.wMaxPacketSize: 10h' v9 J/ Y" L. D p' ?9 i2 a/ N
Itf_Desc[1].Ep_Desc.bInterval: 2h
Manufacturer : GAOMON9 m$ i" a& Z: p' y) C# K
Product : Gaomon Tablet! }3 h" j, R6 |* ?
Serial Number :
Enumeration done.% Y5 G8 i; j" W& M3 Z0 s$ |& M3 W9 L
This device has only 1 configuration.5 C7 D, k6 {3 {9 r+ d
Default configuration set.3 a! s' ^, }- Z
Device remote wakeup enabled( d" K# T. [0 N' C, U' T' o4 z& e& b) b8 K
interface;0; t5 ], L( V5 i4 S8 T
Switching to Interface (#0)2 ^) b5 \5 a0 y8 H: k
Class : 3h: p4 b$ i! }# H: m' H
SubClass : 1h7 X! F& K8 r7 q/ _
Protocol : 2h; l: B' N' @; m! Q- i! y. \( `1 N
Mouse device found!
HID class started.' ~, d% ], o/ i% Y+ O1 W
HID_Handle->HID_Desc.bLength:9h' P9 n5 H; ~" ~# v* m: l7 ?
HID_Handle->HID_Desc.bDescriptorType:21h( a/ s- r3 {/ n0 w) z
HID_Handle->HID_Desc.bcdHID:111h
HID_Handle->HID_Desc.bCountryCode:0h
HID_Handle->HID_Desc.bNumDescriptors:1h
HID_Handle->HID_Desc.bReportDescriptorType:22h0 h3 a4 C ~+ \; i0 w: i; o
HID_Handle->HID_Desc.wItemLength:12h
报告描述符如下:# ~5 F. s) b/ ]
0x06 0x00 0xff
0x09 0x01 _6 l+ M! p) @: e' d( w; U' G
0xa1 0x01 4 V/ s; f4 A3 @" b- M# C
0x85 0x08
0x75 0x58 8 @4 g6 L0 q& g \% K
0x95 0x01 $ t! o# ?; V+ G
0x09 0x01 8 F* E5 {/ x, b4 F1 M% d/ B
0x81 0x02 ) q; \' o# v5 B# _/ Y. `3 X3 N7 ^
0xc0 0xff
2、函数 status = USBH_HID_GetReport(phost, 0x01U, 0U, HID_Handle->pData, (uint8_t)HID_Handle->length); 返回的一直是USBH_BUSY; Z- N6 d4 }! u- {
' e! w0 P4 r. h1 a6 z+ F: ^
3、设备有两个接口描述符,STM32的USB_LIb不支持两个接口的设备?