请教FAE,使用CUbeMX建立USB_HOST工程,已经能够识别鼠标和键盘,也能收到数据。但是接上电磁屏(HID设备,类似鼠标),不能接收数据是什么原因?5 ?9 Y0 f3 M8 a! s; e 设备已经连接成功了如下: USB Device Connected" b. y" A! Y" J+ ^ D* ~1 l USB Device Reset Completed PID: 6dh7 ]+ o- V6 ?# I/ | VID: 256ch Address (#1) assigned. Manufacturer : GAOMON Product : Gaomon Tablet Serial Number : Enumeration done. This device has only 1 configuration. Default configuration set.3 W( I* L2 F. C. D- u8 x Device remote wakeup enabled Switching to Interface (#0)5 B; |9 T) Z' A/ o Class : 3h SubClass : 1h Protocol : 2h" ^, U' V8 [) ^- g4 y& w( \ Mouse device found! HID class started. |
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
STM32固件库分享,超全系列整理
最全USB HID开发资料,悉心整理一个月,亲自测试
【中文文档】AN3965_STM32F40x和STM32F41x基于串口的IAP
USB Audio设计与实现
【MCU实战经验】+STM32F107的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# u' \# {* E: W
bDescriptorType: 1h
bcdUSB: 200h" E% v; k7 q' l; M2 {! G
bDeviceClass: 0h2 x9 B6 ^& j9 G- o
bDeviceSubClass: 0h7 {' }5 d, d6 \, Z) z9 k0 {
bDeviceProtocol: 0h
bMaxPacketSize: 8h
bDeviceClass: 0h9 k" p9 l# t- Z' L1 B+ y8 ?
PID: 6dh
VID: 256ch
bcdDevice: 100h
iManufacturer: 1h
iProduct: 2h
iSerialNumber: 3h) w# J/ M; l x( I, i/ z) b8 k$ c
bNumConfigurations: 1h
Address (#1) assigned.9 \3 p* o6 W% G+ I4 A' \6 m! J
bLength: 9h1 e g, I; Q: J# l5 P
bDescriptorType: 2h
wTotalLength: 3bh
bDescriptorType: 2h
bNumInterfaces: 2h( ^1 e- }9 k; r/ c
bConfigurationValue: 1h
iConfiguration: 0h
bmAttributes: a0h
bMaxPower: f0h5 `$ h+ t: W B8 s; ~4 J7 ]* S
Itf_Desc[0].bLength: 9h
Itf_Desc[0].bDescriptorType: 4h6 S& K) s& z: w2 s9 a3 { d% Q
Itf_Desc[0].bInterfaceNumber: 0h
Itf_Desc[0].bAlternateSetting: 0h
Itf_Desc[0].bNumEndpoints: 1h
Itf_Desc[0].bInterfaceClass: 3h/ K. d$ l$ U/ T, |+ h0 x
Itf_Desc[0].bInterfaceSubClass: 1h
Itf_Desc[0].bInterfaceProtocol: 2h
Itf_Desc[0].iInterface: 0h3 L/ q9 [' ~& f# @- p0 G
Itf_Desc[0].Ep_Desc.bLength: 7h8 |; b) @% x( E( K( w+ T
Itf_Desc[0].Ep_Desc.bDescriptorType: 5h5 S6 u: N* q5 n; [4 f0 ~; }% t
Itf_Desc[0].Ep_Desc.bEndpointAddress: 81h+ o* i5 h5 a% d" h. ]! Z% I$ j7 m
Itf_Desc[0].Ep_Desc.bmAttributes: 3h1 L n1 L' i2 E. k3 I, z& i
Itf_Desc[0].Ep_Desc.wMaxPacketSize: 40h4 {. u0 V' Y5 f: b9 ]/ E
Itf_Desc[0].Ep_Desc.bInterval: 2h" n, c" B `# |1 W G
Itf_Desc[1].bLength: 9h
Itf_Desc[1].bDescriptorType: 4h; b/ [9 P( U* Z4 K
Itf_Desc[1].bInterfaceNumber: 1h8 H2 k; b7 S2 n
Itf_Desc[1].bAlternateSetting: 0h% J: F: ^. C, x+ A& t
Itf_Desc[1].bNumEndpoints: 1h# @: g7 ?# G7 U& K
Itf_Desc[1].bInterfaceClass: 3h
Itf_Desc[1].bInterfaceSubClass: 1h
Itf_Desc[1].bInterfaceProtocol: 2h
Itf_Desc[1].iInterface: 0h, h2 m+ D0 C. o
Itf_Desc[1].Ep_Desc.bLength: 7h
Itf_Desc[1].Ep_Desc.bDescriptorType: 5h
Itf_Desc[1].Ep_Desc.bEndpointAddress: 82h
Itf_Desc[1].Ep_Desc.bmAttributes: 3h! t+ {4 i+ o S! \% n# O
Itf_Desc[1].Ep_Desc.wMaxPacketSize: 10h; g8 E5 `" X1 l+ h/ l
Itf_Desc[1].Ep_Desc.bInterval: 2h5 S' d! I9 n; x- X' c
Manufacturer : GAOMON
Product : Gaomon Tablet" _/ m8 L6 I9 R. e
Serial Number : 6 J. |2 Q* i% p2 m/ n. f% @
Enumeration done.' ^7 e7 D5 c& S
This device has only 1 configuration.5 b. O$ @+ q9 F5 o; B6 k) V
Default configuration set.! ^4 G! K8 ?! e( {" E( M" {8 s
Device remote wakeup enabled" `4 V' o9 W! l* ]/ K
interface;0( I# t0 \& V0 U& ]
Switching to Interface (#0)
Class : 3h' I( M6 E0 F! v2 I
SubClass : 1h
Protocol : 2h K; L; z) O5 f$ m8 b
Mouse device found!
HID class started.
HID_Handle->HID_Desc.bLength:9h
HID_Handle->HID_Desc.bDescriptorType:21h
HID_Handle->HID_Desc.bcdHID:111h$ N+ J7 M4 ~1 I0 G
HID_Handle->HID_Desc.bCountryCode:0h
HID_Handle->HID_Desc.bNumDescriptors:1h
HID_Handle->HID_Desc.bReportDescriptorType:22h" h$ p+ P4 C/ n% F5 C* A
HID_Handle->HID_Desc.wItemLength:12h1 F6 p0 R1 g' _. X% ?8 c7 f
报告描述符如下:/ j4 G6 y: L$ b& @+ O9 x2 g2 r
0x06 0x00 0xff
0x09 0x01 1 {4 p3 E. E" @/ @, ^# Q* I
0xa1 0x01 5 e2 `- g1 I, a n9 v$ K; z- Y6 ?
0x85 0x08
0x75 0x58
0x95 0x01 ' a, d& K2 k- a n4 G: n
0x09 0x01 8 S4 X$ G+ N5 S( m% X
0x81 0x02 3 E4 O$ I+ d( n2 W+ k
0xc0 0xff
# ?0 h( P; N; q C1 ? `0 g0 v
2、函数 status = USBH_HID_GetReport(phost, 0x01U, 0U, HID_Handle->pData, (uint8_t)HID_Handle->length); 返回的一直是USBH_BUSY
& o7 J9 a- ~3 L8 P+ h: I
3、设备有两个接口描述符,STM32的USB_LIb不支持两个接口的设备?