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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版