[MM32F0163 mini board] USB HID控制传输分包(大于64字节)接收异常

[复制链接]
 楼主| sunweiwen81 发表于 2025-7-1 11:56 | 显示全部楼层 |阅读模式
使用MM32F0163的mini board,实现USB HID的功能,其中一个report的长度大于64字节,上位机在通过控制传输set report时,host USB bus进行分包处理,但是MM32的USB中断在收到一个setup token后,只有一次out token中断,期望是两次out token中断将数据收全。Code base是MM32的官方示例 -> TinyUSB中的HID_Port,各位大神有什么建议
七毛钱 发表于 2025-7-31 14:36 | 显示全部楼层
USB协议限制,当Report长度超过64字节时,Host会分多次发送OUT事务。
flycamelaaa 发表于 2025-7-31 14:36 | 显示全部楼层
MM32的USB模块可能未正确处理分包逻辑,导致仅触发一次OUT中断。
classroom 发表于 2025-7-31 14:38 | 显示全部楼层
分包是USB协议标准行为,需固件主动拼接数据。
classroom 发表于 2025-7-31 14:39 | 显示全部楼层
TinyUSB默认不支持自动分包,需扩展回调逻辑。
powerantone 发表于 2025-7-31 15:36 | 显示全部楼层
可能是中断标志未清除、DMA配置错误,或固件未实现数据拼接逻辑。
stormwind123 发表于 2025-7-31 16:37 | 显示全部楼层
检查USB_INT_EN寄存器是否使能了CTROUT_INT。
probedog 发表于 2025-7-31 17:38 | 显示全部楼层
检查端点缓冲区大小,端点0的缓冲区要足够大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部