STM32
直播中

江根磊

8年用户 1124经验值
私信 关注
[问答]

用STM32_USB-Host-Device_Lib USB_Host_ExamplesHID例程,主循环加入延时后按键盘不能读到字符是为什么?

参考的UM1021手册,用的STM32_USB-Host-Device_Lib USB_Host_ExamplesHID例程。
插键盘使用,USBH_Process() 循环间隔小于3ms,按键盘,读到的字符正常。
当主循环加入延时后,USBH_Process() 循环间隔大于3ms,按键盘不能读到字符了。
大家有什么招可以解决 主循环时间间隔长,而USB-HID需要读取正确的键盘输入字符呢?
我估计原因是 《STM32F10xxx参考手册》 26.5.2 设备状态 描述的
[i]挂起状态
[i]OTG_FS控制器持续的检测USB线上的活动。在检测到3ms的USB空闲状态后,将产生早期挂起中断(OTG_FS_GINTSTS寄存器的ESUSP位),在3ms后产生挂起中断(OTG_FS_GINTSTS寄存器的USBSUSP位)确认挂起。设备状态寄存器的设备挂起位(OTG_FS_DSTS寄存器的SUSPSTS位)将自动置位,OTG_FS控制器进入挂起状态。






回帖(1)

朱燕媚

2024-4-29 16:58:09
网上写着要 周期性地发送SOF包,设备才不会挂起
举报

更多回帖

发帖
×
20
完善资料,
赚取积分