汇集网友智慧,解决技术难题
AT32F415 U盘 RT-Thread 嵌入式 国产芯片 单片机
赞0
评论
2024-06-18
2024-06-17
点击图片添加到编辑器内容中
点击文件名将附件添加到文章中
提交
tyw
314个答案
天意无罪
284个答案
xch
203个答案
jjjyufan
197个答案
coody
183个答案
LcwSwust
136个答案
chunyang
135个答案
呐咯密密
108个答案
赞0
可以尝试增加retry的初始值,例如将其从10改为20:
```c
int retry = 20;
while(retry --)
{
rt_completion_wait(&urb_completion, timeout);
if(usbh_get_urb_status((&p_usbotg_instance->p_otg_core->host), pipe->pipe_index) == URB_NOTREADY)
{
if((pipe->ep.bEndpointAddress & 0x80) == 0)
{
goto __resend;
}
}
}
```
如果仍然无法解决问题,请检查循环体内的其他代码是否有逻辑错误或者死锁等问题。
评论
2024-06-18
赞0
评论
2024-06-18
赞0
代码卡死在 drv_usbotgh.c 的 225 行的while循环里
评论
2024-06-17
您需要登录后才可以回复 登录 | 注册