请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407VE使用USB_HOST接上HID设备不能接收数据?

[复制链接]
anyonezhang 发布时间:2020-7-2 11:05
请教FAE,使用CUbeMX建立USB_HOST工程,已经能够识别鼠标和键盘,也能收到数据。但是接上电磁屏(HID设备,类似鼠标),不能接收数据是什么原因?
0 n3 G) f/ a; a. }/ T# z设备已经连接成功了如下:
! q0 H1 i1 `/ m: H" mUSB Device Connected3 d3 h" P5 Z% \/ ~3 t
USB Device Reset Completed
) l6 B7 S7 ]1 b( R4 }0 DPID: 6dh
. b3 _" ^4 `7 F7 K( KVID: 256ch
4 P0 j  b7 m1 G" SAddress (#1) assigned.
3 _+ Z: ]3 I3 CManufacturer : GAOMON
5 s: [7 o* e( B. k% z$ G, IProduct : Gaomon Tablet5 c0 A; O( t" p2 r- K+ W4 n$ _
Serial Number :
+ c9 `; r% X, ZEnumeration done.
, `! ]5 ?7 m7 q5 B! @* JThis device has only 1 configuration.7 J" H; b3 l+ z! u. K
Default configuration set.% i0 q0 x1 R9 M1 W, l4 H2 s3 Z
Device remote wakeup enabled
6 ~" S  U* v. y$ L0 M8 [% Y9 Y% }Switching to Interface (#0)/ D5 V# r2 T; B
Class    : 3h* W* x. Z* a8 l
SubClass : 1h6 a4 @: z* a4 v- ^0 Z2 I! e: T
Protocol : 2h
3 `6 |/ U' g& V' g: ?& t  CMouse device found!5 U; Q/ m! B" G- J1 p$ k
HID class started.
收藏 评论3 发布时间:2020-7-2 11:05

举报

3个回答
天臆弄人 回答时间:2020-7-2 13:55:06
改下端口就是了
anyonezhang 回答时间:2020-7-2 14:49:43
天臆弄人 发表于 2020-7-2 13:55
/ t8 [/ Y8 @$ h" A" ^  l! e0 ?. A/ E改下端口就是了

9 E6 l& n8 y* P. m十分感谢  能具体一点吗?在usbh_ioreq.c usbh_core.c usbh_ctlreq.c usbh_pipes.c usbh_hid.c的哪个文件里面改?
anyonezhang 回答时间:2020-7-4 13:37:45
获取的报告描述符如下:
1 y' u( \$ K: c" p, @  c. wbLength: 12h
% j6 S3 W* h; [6 GbDescriptorType: 1h: S- ], d: h3 [# u- L2 D" [2 [2 Z
bcdUSB: 200h
- |: e' S( ?1 D9 RbDeviceClass: 0h
' n0 W7 u3 t% k2 v3 ~# sbDeviceSubClass: 0h
: G3 S& A. e+ C- e6 f) u/ P) Z1 nbDeviceProtocol: 0h
0 l, v: u& G) z8 [( F# AbMaxPacketSize: 8h; M5 g+ k/ G/ ^
bDeviceClass: 0h( k9 z) w: t, |3 K- N- R
PID: 6dh! @4 l; z7 P: N: j5 l; z0 Z
VID: 256ch8 b$ n$ o7 B3 Q! g& D
bcdDevice: 100h* A0 K5 i, F* h. @+ F
iManufacturer: 1h/ w0 J+ W# ~- o6 o. h
iProduct: 2h; s* _/ h# |# G! x* V$ P; a( o! w
iSerialNumber: 3h
# @% G9 c7 {' XbNumConfigurations: 1h! x. x' C+ k+ p5 Q
Address (#1) assigned.: K  T# n4 a4 D1 F4 U
bLength: 9h- O& ?7 w0 S4 \3 @
bDescriptorType: 2h
3 t  J; T$ W, Z  |0 ]$ `( O0 JwTotalLength: 3bh& K& l: e/ {, e7 o" X
bDescriptorType: 2h
) l. a; O' b5 P# @# @3 X1 IbNumInterfaces: 2h* t# m+ `/ q: g
bConfigurationValue: 1h
0 q% W, D6 G2 u8 Z( S% NiConfiguration: 0h
: f- n) |' J! Z: Q5 V& fbmAttributes: a0h
5 U$ v. b. b2 L& JbMaxPower: f0h6 A( r& y+ d6 G# x) L" i
Itf_Desc[0].bLength: 9h
/ ]/ s, B) I( ^5 [! rItf_Desc[0].bDescriptorType: 4h) _5 C' z5 r4 i+ c% ~& S; L: E
Itf_Desc[0].bInterfaceNumber: 0h/ Q0 e! N6 S& B( ^
Itf_Desc[0].bAlternateSetting: 0h
0 W, A, b0 b+ B# cItf_Desc[0].bNumEndpoints: 1h! D9 ]6 I( g1 c( F
Itf_Desc[0].bInterfaceClass: 3h3 @3 u+ W) n9 n+ t
Itf_Desc[0].bInterfaceSubClass: 1h5 i) W9 G5 }% X7 e
Itf_Desc[0].bInterfaceProtocol: 2h3 ^, Y+ n: D$ Z4 C* N& p( Z+ \8 T1 g, c
Itf_Desc[0].iInterface: 0h
+ F6 |! R' E9 VItf_Desc[0].Ep_Desc.bLength: 7h
: U2 W% m6 P  V  S; y2 S3 p) nItf_Desc[0].Ep_Desc.bDescriptorType: 5h
% z! r$ T1 S* Y. l5 @Itf_Desc[0].Ep_Desc.bEndpointAddress: 81h8 c1 N) k( R0 l4 o! k( J
Itf_Desc[0].Ep_Desc.bmAttributes: 3h6 ~  c; H3 n! C9 Z5 B3 N7 k
Itf_Desc[0].Ep_Desc.wMaxPacketSize: 40h$ ^% E2 t, R$ A' E
Itf_Desc[0].Ep_Desc.bInterval: 2h" U( E* C: I( K" j8 E+ K
7 |; Q2 U  [% q$ L, f5 [4 I; {
Itf_Desc[1].bLength: 9h
1 E4 r2 K; y6 C0 q8 kItf_Desc[1].bDescriptorType: 4h
. `. W8 Y* c% L$ ^Itf_Desc[1].bInterfaceNumber: 1h2 _* i' @, E% @9 P
Itf_Desc[1].bAlternateSetting: 0h
- c( H# P/ U9 _Itf_Desc[1].bNumEndpoints: 1h2 k) S7 [/ J, r! c, `& V6 T
Itf_Desc[1].bInterfaceClass: 3h/ b+ p5 H) v1 V
Itf_Desc[1].bInterfaceSubClass: 1h
5 l9 q) ^1 _. i' [! H: \* ~  VItf_Desc[1].bInterfaceProtocol: 2h% o! |9 l( q7 B6 I7 Z+ Q1 X
Itf_Desc[1].iInterface: 0h
7 [+ D  m% g# zItf_Desc[1].Ep_Desc.bLength: 7h, [* ^/ Q( r$ j
Itf_Desc[1].Ep_Desc.bDescriptorType: 5h" @7 E' N" K, N
Itf_Desc[1].Ep_Desc.bEndpointAddress: 82h2 C3 {" \9 p) i2 ?5 Q
Itf_Desc[1].Ep_Desc.bmAttributes: 3h/ x0 h- n, ~- Q4 b* I; ^( n
Itf_Desc[1].Ep_Desc.wMaxPacketSize: 10h
, D0 `5 r' z+ M0 Z4 ]Itf_Desc[1].Ep_Desc.bInterval: 2h/ g4 g) g( B9 g: y5 D
Manufacturer : GAOMON
6 @7 S& ?+ x7 u$ J* |Product : Gaomon Tablet
* a, P% d: d1 \$ ?2 S9 rSerial Number :
* U1 g% X( d; i+ H1 L! w1 u. uEnumeration done.
, E2 \2 s9 r( D4 M5 d( M1 v8 N* SThis device has only 1 configuration.
* N; X, G+ X4 P" L3 ]Default configuration set.
' b6 a% ]/ p) ?/ c5 c, fDevice remote wakeup enabled
: g. h/ t* M. X5 \  M5 ginterface;0
! e" `( i6 Z  i0 [" tSwitching to Interface (#0)/ K* b1 ^  x" t+ d1 k" \0 o' `
Class    : 3h
# m" u5 C/ |8 _5 V1 X8 \SubClass : 1h9 W3 A; S; Y& t, o
Protocol : 2h6 q% Y5 t. r: W' P
Mouse device found!
: j; p, {: a* B/ _9 EHID class started.
5 ~) c& d$ \5 T, dHID_Handle->HID_Desc.bLength:9h
1 W  L& f' ~: o7 g9 A/ r# }HID_Handle->HID_Desc.bDescriptorType:21h
8 A8 k* f* E: h; q, X' KHID_Handle->HID_Desc.bcdHID:111h
" t# i2 n3 D7 L3 _5 a# `6 ~HID_Handle->HID_Desc.bCountryCode:0h
; f% \! w; X  z* l: u+ X0 THID_Handle->HID_Desc.bNumDescriptors:1h: g' R3 Z" P" v
HID_Handle->HID_Desc.bReportDescriptorType:22h9 N5 Y( B( G, F# l3 A
HID_Handle->HID_Desc.wItemLength:12h( {/ D; S' E6 k+ I& g$ b% o
报告描述符如下:
( K" E3 J2 p: R+ k6 _0x06 0x00 0xff
9 |/ e/ K) }6 p8 u3 ~0x09 0x01
) [% y2 q+ |& C0xa1 0x01
8 N: C: T/ k. Z/ e: T+ I& x0x85 0x08
  F& ]8 w4 I% |# H* w9 k2 X0x75 0x58
5 l6 n7 }/ \0 N; b1 M  T0x95 0x01
5 R" y; B8 Y+ I, F8 N" \0x09 0x01
: F% V4 E8 v8 T' t- E1 v0x81 0x02 " u, z& ~7 `, @
0xc0 0xff
9 u" p9 _2 a5 B; j  ^) T. l2 K) {! E& j- h6 m) u/ v
- X8 |; ^* C* K0 ^2 b& `
2、函数  status = USBH_HID_GetReport(phost, 0x01U, 0U, HID_Handle->pData, (uint8_t)HID_Handle->length);  返回的一直是USBH_BUSY; t: m1 o3 k6 l

9 ~3 P' C( v* Y! l( W! n" p. X3、设备有两个接口描述符,STM32的USB_LIb不支持两个接口的设备?
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版