OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2822|回复: 4

使用RTT自带USB HOST驱动枚举过程出现USB_OTG_HCINT_TXERR

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2020-4-10
在线时间
9 小时
发表于 2020-5-9 19:38:41 | 显示全部楼层 |阅读模式
10金钱
使用cubemx和其自带的middlesoftware调试正常,但接入复合设备的时候似乎只能使用其中的一个接口,改了一下库还是只能和复合设备的单个接口通信。所以就换了RTT的USB host驱动

RTT驱动:对于单设备,如果重启MCU就会有非常大几率导致枚举失败,仿真看了下出现了USB_OTG_HCINT_TXERR,不过硬件插拔usb可以成功识别且通信正常。接下来换成复合设备后,无论是重启MCU还是插拔设备均出现枚举失败,错误也是USB_OTG_HCINT_TXERR,有哪位有经验的可以给点解决方案和思路吗

rtt的usb host驱动是用cube生成的,usb框架用rtt自带的

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-12-27
在线时间
0 小时
发表于 2020-5-9 19:38:43 | 显示全部楼层
顶起,顶起,不要沉了啊
回复

使用道具 举报

0

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2018-12-27
在线时间
0 小时
发表于 2020-5-9 19:38:51 | 显示全部楼层
不懂,只能认认真真跟着原子哥学习先,帮顶
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2020-4-10
在线时间
9 小时
 楼主| 发表于 2020-5-9 19:49:25 | 显示全部楼层
出问题的代码:
stm32h7xx_hal_hcd.c

static void HCD_HC_OUT_IRQHandler(HCD_HandleTypeDef *hhcd, uint8_t chnum)
{
else if ((USBx_HC(ch_num)->HCINT & USB_OTG_HCINT_TXERR) == USB_OTG_HCINT_TXERR)
{
}
}
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2020-4-10
在线时间
9 小时
 楼主| 发表于 2020-5-9 19:53:55 | 显示全部楼层
参考手册解释如下,不过单个设备的时候为什么插拔可以枚举,复合设备就出问题呢

位 7 TXERR:通信事务错误 (Transaction error)
指示 USB 上发生下列错误之一:
CRC 校验失败
超时
位填充错误
错误的 EOP
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-1 23:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表