我用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文章
715瀏覽量
59023 -
DRV
+關注
關注
0文章
18瀏覽量
20970 -
DEBUG
+關注
關注
3文章
95瀏覽量
21378 -
RT-Thread
+關注
關注
32文章
1613瀏覽量
44821
發布評論請先 登錄
相關推薦
熱點推薦
瑞芯微(EASY EAI)RV1126B USB使用
1.USB硬件資源介紹1.1兩種USB模式EASYEAINano-TB開發板支持2種USB工作模式:默認模式:USB資源默認在設備樹被配置成【2路U
觸覺智能RK3506開發板配置USB復合設備(下)
本文基于觸覺智能RK3506開發板,為大家介紹配置USB復合設備,本章節將介紹UMS和ACM復合設備數據交互。UMSUMS是USB協議體系中定義大容量存儲設備通信規范的標準化協議,通過批量傳輸協議實現主機與存儲設備間的數據交換,給Hos
使用nRF52840芯片的USB Host 功能參考例程
在使用 Nordic nRF52840 芯片的 USB Host 功能時,推薦參考 Nordic 官方提供的USB Host 示例代碼 ,具體可重點關注以下資源:
1. 官方 SDK
發表于 10-31 12:47
USB讀RAM buffer使用規范建議
USB 為 NAK
USB 中斷不能及時響應,此時軟件再次將 USB 置 Valid,開總中斷
此時 USB 中斷產生,軟件讀取接收 RA
發表于 09-22 17:27
CherryUSB Host必須要DMA而Device就可以選擇是否使用DMA?
因為從ST F4的USB協議棧遷移到CherryUSB,在看兩個協議棧的代碼時發現CherryUSB作為HOST使用時,只能使用HS,因為HS支持DMA,但是作為Device時卻不需要,故有
發表于 09-10 06:58
CH582M HOST發送數到設備后,提交IN一直是2A是什么問題?
CH582M HOST發送數到設備后,提交IN一直是2A是什么問題?
// 發送CNXN包頭到ADB OUT端點
uint8_t ep_out = g_adb_info.adb_ep_out
發表于 08-20 19:36
STM32H750 USB HS HOST 加 DCMI 接口不能正常工作怎么解決?
我目前使用STM32H750加USB3300用做USB高速host,然后通過通過DCMI接口讀取攝像頭數據,攝像頭的分辨率是640480(640480*2bytes)。
單獨打開USB
發表于 07-25 07:22
USB_CDC_HOST 標準庫里邊USBH_DeAllocate_AllChannel()函數的疑問求解
/*** @briefUSBH_DeAllocate_AllChannel*Free all USB host channel* @parampdev : core instance
發表于 07-24 07:27
使用 USB CDC 下載應用程序固件,用時過長是為什么?
,然后DFU工具就可以在DFU host工具上看到DFU USB CDC接口了。我們期望 USB 比 UART 更快,但看起來并非如此。
發表于 07-14 07:10
CYUSB3014在host開機后不識別是怎么回事?
設備 管理器中有未知設備。
使用USB邏輯分析儀查看開機過程中的通信情況,顯示HOST發了 進入低功耗模式 又 退出低功耗的 USB EVENT ,之后的事務中只有setup的包有ack,其他包沒有
發表于 05-19 06:27
如何區分usb-typec是插入電腦還是插入其他電源?
./canaan-camera.sh start otg0這個腳本嗎?
默認情況下,K230 板以 USB Host 模式運行。當有 USB 設備插入 K230 的 USB
發表于 04-24 08:23
是否可以將PTN3222配置為Host-USB2到eUSB2主機?
是否可以將PTN3222配置為 Host-USB2 到 eUSB2 主機?
換句話說,PTN3222可以將普通的 USB2 主機端口轉換為 eUSB2 主機嗎?
發表于 03-27 06:09
USB Host不停NAK的問題
評論