打印
[技术问答]

HC32F467的USB通讯问题

[复制链接]
463|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
XXShan|  楼主 | 2025-6-13 09:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果配置USB端点IN和OUT都为EP1,在枚举描述符后,当有数据通过EP1的OUT令牌包接收Data时,会导致一直触发USB中断,然后我的FreeRTOS任务不运行了,这是为什么,然后我把IN改为EP3,OUT使用EP1就能正常运行

使用特权

评论回复
沙发
XXShan|  楼主 | 2025-6-13 11:06 | 只看该作者
如果要修改收发的EP要注意哪些点?

使用特权

评论回复
板凳
liuwenwyf| | 2025-6-14 01:17 | 只看该作者
不知道。。。。。

使用特权

评论回复
地板
丙丁先生| | 2025-6-14 06:27 | 只看该作者
问题的核心在于同一端点被错误用于双向传输,导致硬件中断处理逻辑混乱和协议状态机异常。通过分开端点配置,不仅符合USB规范,还能隔离中断处理流程,避免任务调度被中断抢占。实际应用中,建议遵循“一端点一方向”的原则,并严格按协议配置描述符,以确保USB通信的稳定性和实时性

使用特权

评论回复
5
丙丁先生| | 2025-6-14 06:28 | 只看该作者
实践验证与解决方案
分开端点:将IN和OUT配置为不同端点(如EP1-OUT和EP3-IN),符合USB端点方向性要求,中断处理逻辑清晰,避免冲突。
优化中断处理:在中断服务程序中,需确保每次处理完数据后,正确清除中断标志、重置端点缓冲区状态,并避免长时间阻塞操作(如复制数据到大缓存区)。
检查描述符配置:确保设备描述符中明确各端点的方向、传输类型(如中断、批量)及最大包大小,避免主机因配置错误发起异常传输

使用特权

评论回复
6
LightCatcher| | 2025-6-14 10:54 | 只看该作者
USB 硬件端点资源冲突 + 中断未能正确处理,一直进中断可能。

使用特权

评论回复
7
EchoInEons| | 2025-6-14 16:02 | 只看该作者
最好是能把你的配置代码发出来,这样大家才能仔细分析

使用特权

评论回复
8
SolitudeSage| | 2025-6-15 10:07 | 只看该作者
没代码只能盲猜了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝