0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB Host不停NAK的问题

冬至子 来源:huo2023 作者:huo2023 2023-10-12 15:17 次阅读

我用U盘导出数据,现象是第一次导出成功,不拔出U盘的情况下,直接导出第二次失败,之后的每一次都失败。拔出U盘后重新插入,仍是第一次正常,之后每一次失败。

查到是drv_usbh.c文件中的drv_pipe_xfer()函数,NAK死循环。

1、增加了NAK后重试的代码

论坛中其他方法效果不明显,还是会NAK。

if (++retry_times >= 100)
{
return -2;
}
continue;

2、增加延时

打开RT_DEBUG_USB后发现,U盘读写正常了,但是枚举有时不正确,概率大概是插入5次,会有1次枚举不成功。

所以在rt_usb_hcd_pipe_xfer()函数内打印处增加延时,关闭RT_DEBUG_USB后,读写、枚举全部正常。

RT_DEBUG_LOG(RT_DEBUG_USB,("pipe transform remain size,: %dn", remain_size));
if (!RT_DEBUG_USB)
{
rt_thread_mdelay(5);
}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • USB接口
    +关注

    关注

    9

    文章

    699

    浏览量

    55573
  • DRV
    DRV
    +关注

    关注

    0

    文章

    18

    浏览量

    20638
  • DEBUG
    +关注

    关注

    3

    文章

    89

    浏览量

    19880
  • RT-Thread
    +关注

    关注

    31

    文章

    1272

    浏览量

    39913
收藏 人收藏

    评论

    相关推荐

    请问ESP32-S3 USB HOST是否支持USB2.0?

    规格书介绍ESP32-S2指定USB HOST支持的USB1.1,ESP32-S3的USB HOST支持
    发表于 07-19 06:53

    STM32F407作USB host驱动声卡,USB就会出错的原因?

    我用STM32F407 作USB host,配置为FS。用它接声卡。如果STM32F407 单向给 声卡传送音频,输出声音正常。或者 407单向接收声卡的音频,工作也正常。但是同时发送和接收声音(即
    发表于 07-04 06:56

    CY7C65215A作为从站,在主站写入时响应NAK是怎么回事?

    。数据传输正常。双方(USB 赛普拉斯和主控单片机)的数据读写都正常,包括最后一个 NAK 字节,赛普拉斯将其作为 ACK 处理。 困扰我的原因是,我的主控单片机无法确认所有字节都已正确传输到从控单片机(赛
    发表于 07-04 06:30

    STM32跟wifi模块通过USB在没有host的前提下如何交互呢?

    后不需要再插拔。是不是可以通过USB简单的进行设备与设备的连接,不用考虑是否是host? 2. 如果1假设成立,那STM32跟wifi模块通过USB在没有host的前提下如何交互呢?
    发表于 05-13 08:25

    STM32_USB-FS-Device_Lib_V4.1.0为何不在端点恢复后将发送端点设置为NAK

    (EP_TX_VALID) after recover from HALT; i wonder why we don\'t set the status to NAK; The USB spec
    发表于 05-06 08:55

    STM32F407 USB HOST HID部分鼠标键盘无法读取数据的原因?

    ) { UNMASK_HOST_INT_CHH (num); USB_OTG_HC_Halt(pdev, num); CLEAR_HC_INT(hcreg , nak); pdev-&
    发表于 04-22 08:22

    ST-usb-host-hid库如何解决usb扫码枪这类的usb-hid-keyboard设备?

    用cube生成的usb-host-hid调试扫码枪的时候只能支持小部分的usb扫码枪,有好几种扫码枪的现象是:枚举成功了,但是在获取设备信息:USBH_HID_GetHIDDescriptor
    发表于 04-17 06:49

    stm32l4如何下载到usb host的固件库?

    各位大神,请教下stm32l4如何下载到usb host的固件库,还想请教下stm32有没有开源的rndis和ecm代码
    发表于 04-11 07:19

    请问USB CDC host怎么与多串口的从机通信?

    USB CDC host怎么与多串口的从机通信? 有一个从设备的USB虚拟了3个串口,作为主设备,如何分别识别出每个串口,分别于每个串口通信? 我的主设备使用的是官方单独的USB标准库
    发表于 04-11 06:11

    使用STM32F407 USB HOST遇到的疑问求解

    我用的是STM32F407 使用STM32FCUBE产生的工程 起重 USB_OTG_HS 选择的是 Host Only SOF 和 VBUS 都没勾选 USB_OTG_FS 选择
    发表于 04-03 06:11

    需要用f4xx做usb vcp host端,请问有没有办法让host端不轮询读呢?

    请教一下 我们需要用f4xx做usb vcp host端,用cubeide生成了usb host端的 virtual com port代码工程,能够正常识别插入的vcp设备,但是发现
    发表于 03-26 08:25

    如何实现STM32 USB host对另外的一个USB虚拟串口设备的通讯?

    如何实现STM32 USB host 对另外的一个USB 虚拟串口设备的通讯
    发表于 03-07 06:10

    什么是USB HOSTUSB Slave和USB OTG?它们之间有什么区别?

    什么是USB HOSTUSB Slave和USB OTG?它们之间有什么区别? USB(通用串行总线)是一种用于连接设备的通信接口标准,它
    的头像 发表于 02-02 15:32 1.2w次阅读

    NUC220VE3AN如何做到USB HOST

    现时我使用NUC220VE3AN并想储存它的AD数据在USB随身碟,但我不知道如何修改,使它可以做到USB HOST的功能,令我可以读写USB随身碟。请各位多多指教。
    发表于 01-15 06:29

    DshanMCU-R128s2 USB外设功能配置

    USB 功能简介 USB 功能模块包括了USB HostUSB Device 和OTG 功能。 USB
    的头像 发表于 12-22 19:05 2066次阅读
    DshanMCU-R128s2 <b class='flag-5'>USB</b>外设功能配置