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

USB UM1021 USB主机HID

[复制链接]
隐者-423522 提问时间:2016-8-23 18:05 /


参考的UM1021手册,用的STM32_USB-Host-Device_Lib \USB_Host_Examples\HID例程。
插键盘使用,USBH_Process() 循环间隔小于3ms,按键盘,读到的字符正常。
当主循环加入延时后,USBH_Process() 循环间隔大于3ms,按键盘不能读到字符了。
大家有什么招可以解决 主循环时间间隔长,而USB-HID需要读取正确的键盘输入字符呢?


我估计原因是 《STM32F10xxx参考手册》 26.5.2 设备状态 描述的
挂起状态
OTG_FS控制器持续的检测USB线上的活动。在检测到3ms的USB空闲状态后,将产生早期挂起中断(OTG_FS_GINTSTS寄存器的ESUSP位),在3ms后产生挂起中断(OTG_FS_GINTSTS寄存器的USBSUSP位)确认挂起。设备状态寄存器的设备挂起位(OTG_FS_DSTS寄存器的SUSPSTS位)将自动置位,OTG_FS控制器进入挂起状态。





收藏 评论4 发布时间:2016-8-23 18:05

举报

4个回答
asssdz-382474 回答时间:2016-8-24 02:12:18
隐者-423522 回答时间:2016-8-26 08:47:40
网上写着要 周期性地发送SOF包,设备才不会挂起
隐者-423522 回答时间:2016-8-26 14:37:32
观察HID_State状态发现USBH_HID_Handle函数,在时间间隔>3ms和<3ms时运行不同的条件。
正常运行: HID_SYNC ,  后面循环 HID_GET_DATA , HID_POLL ,HID_POLL ,HID_POLL ,HID_POLL ,
而>3ms运行: HID_SYNC ,  后面循环 HID_GET_DATA , HID_POLL ,HID_GET_DATA , HID_POLL ,
cloudmr 回答时间:2018-3-24 14:24:01
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版