[求助]CH376不能識別讀卡器?買了個U盤來測試,也不行?

while(1) { AudioLED_ON();

USBstatus = CH376DiskConnect(); if(USBstatus==USB_INT_SUCCESS) //為什么不是USB_INT_CONNECT?u盤插入 { USART1_SendByte(0x51);//lin test mDelaymS(200); for ( i = 0; i < 100; i ++ ) { mDelaymS(50); USBstatus = CH376DiskMount(); USART1_SendByte(USBstatus);//lin test if(USBstatus==USB_INT_SUCCESS) break; //準(zhǔn)備好 else if(USBstatus==ERR_DISK_DISCON)break; //斷開 USART1_SendByte(CH376GetDiskStatus( ));//lin test if ((CH376GetDiskStatus( ) >= DEF_DISK_MOUNTED) && (i >= 5) ) break; // 有的U盤總是返回未準(zhǔn)備好,不過可以忽略,只要其建立連接MOUNTED且嘗試5*50mS } if ( USBstatus == ERR_DISK_DISCON ) // 檢測到斷開,重新檢測并計時 continue;

if ( CH376GetDiskStatus( ) < DEF_DISK_MOUNTED ) // 未知USB設(shè)備,例如USB鍵盤、打印機等 goto UnknownUsbDevice;

//if(USBstatus==USB_INT_SUCCESS)//磁盤初始化 //{ strcpy( buf, "\CH376.TXT" ); USART1_SendByte(0x52);//lin test USBstatus = CH376FileOpen(buf); USART1_SendByte(USBstatus);//lin test if ( USBstatus == ERR_MISS_DIR || USBstatus == ERR_MISS_FILE ) // 沒有找到目錄或者沒有找到文件 // 列出文件,完整枚舉可以參考EXAM13全盤枚舉 { if ( USBstatus == ERR_MISS_DIR ) strcpy( buf, "\\*" ); // C51子目錄不存在則列出根目錄下的文件 else strcpy( buf, "\\C51\\CH376*" ); // CH376HFT.C文件不存在則列出\C51子目錄下的以CH376開頭的文件 USBstatus = CH376FileOpenPath( buf ); // 枚舉多級目錄下的文件或者目錄,輸入緩沖區(qū)必須在RAM中 while ( USBstatus == USB_INT_DISK_READ ) // 枚舉到匹配的文件 */ { CH376ReadBlock( buf ); // 讀取枚舉到的文件的FAT_DIR_INFO結(jié)構(gòu),返回長度總是sizeof( FAT_DIR_INFO ) pDir = (P_FAT_DIR_INFO)buf; // 當(dāng)前文件目錄信息 */ if ( pDir -> DIR_Name[0] != '.' ) // 不是本級或者上級目錄名則繼續(xù),否則必須丟棄不處理 { if ( pDir -> DIR_Name[0] == 0x05 ) pDir -> DIR_Name[0] = 0xE5; // 特殊字符替換 pDir -> DIR_Attr = 0; // 強制文件名字符串結(jié)束以便打印輸出 } xWriteCH376Cmd( CMD0H_FILE_ENUM_GO ); // 繼續(xù)枚舉文件和目錄 xEndCH376Cmd( ); USBstatus = Wait376Interrupt( ); } USART1_SendByte(USBstatus);//lin test } else // 找到文件或者出錯 { for(i=0;i<30;i++) buf[i]=0; CH376ByteRead( buf, 30, &RealCount ); for(i=0;i<30;i++) USART1_SendByte(buf[i]); } //}

UnknownUsbDevice: while ( CH376DiskConnect( ) == USB_INT_SUCCESS ) { /* 檢查U盤是否連接,等待U盤拔出 */ mDelaymS( 1000 ); } } AudioLED_OFF(); mDelaymS(300); }

上面是代碼,連接讀卡器上電(有SD卡,電腦可以正確識別的),CH376DiskConnect()正確返回USB_INT_SUCCESS,但下面的for循環(huán),CH376DiskMount()都是返回0x1f,CH376GetDiskStatus( )都是返回0x02,最后程序跳到UnknownUsbDevice,不能識別讀卡器?

讀卡器里面有沒有裝入SD卡?


有的,裝了SD卡,把讀卡器插到電腦可以正常訪問的


CH376DiskMount()返回0x1f,CH376GetDiskStatus( )返回0x02,是哪里出問題呢?


新買了個U盤回來測試,也不能識別。CH376DiskConnect()正常。 插入U盤,CH376DiskMount()返回0x2c,CH376GetDiskStatus( )返回0x02; 插入讀卡器的話,CH376DiskMount()返回0x1f,CH376GetDiskStatus( )返回0x02;


檢查一下USB口,或者將圖貼出來,這部分可能有問題


這是ch376圖紙,鏈接到stm32f103的

20125251851247.jpg


CH376版本號?


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频