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

stm32f407 开启两路(FS和HS) Custom HID,与上位机通信偶尔中断

[复制链接]
三尺秋水 提问时间:2024-3-15 23:17 / 未解决

最近在stm32f407上使用两路custom hid(FS和HS)与上位机通信,遇到两个棘手的问题:

1、在主程序中通过FS和HS周期给上位机发送数据,打开测试软件接收HS这一路数据,此时热插拔几次FS这一路线缆,可能会导致HS这一路数据中断。重新插入FS线缆,HS数据恢复。

2、插入FS和HS线缆,stm32f407一直保持上电,上位机多次重启,可能会出现上位机接收不到HS这一路数据。

这两个问题困扰我很久,包括网上搜索资料,请教同事,都没找到答案。

测试发现问题1时,HS一直是USB_BUSY状态无法恢复。我试着通过清发送缓冲区、清断点状态、延长发送时间,都无法解决这个问题。

以下是我的配置和部分代码:

(1)、MX配置界面:

5b963315de8a3aef9e928021f099e9c.png

eb7b547bc5196196b9cca98e801d710.png

中断配置为默认配置。

(2)、程序配置代码:

报告描述符:

181ede212569a36cf56bf08cde868d6.png

宏定义长度:

821decc84a16b57a63f9bec16f1e61a.png

e2be49035657a69569e065dde32c7b5.png

主程序代码:

fbf78301c6e1988844ce2569a293145.png

异常处理代码:

25aeaa2f80605a1b918ee71417e5e83.png

请大家帮忙看下,是什么原因导致出现这种问题,帮忙解答一下。感激不尽。

收藏 评论1 发布时间:2024-3-15 23:17

举报

1个回答
butterflyspring 回答时间:2024-3-20 12:17:07
1. Class data 是不是共用了一个 ? 应该分开用

2. USBD_DEBUG_LEVEL  2   通过串口打印出USB 信息来进一步分析。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版