[求助]CH376返回錯誤0XFA

我用的EXMA0的程序。把CH376作為HOST來用,但在插上U盤后能認識U盤了,返回了U盤的的廠商信息和分區(qū)了,但是到了以下就出現(xiàn)了返回0XFA,我經(jīng)過跟蹤了一下程序,發(fā)現(xiàn)在 UINT8 Wait376Interrupt( void ) /* 等待CH376中斷(INT#低電平),返回中斷狀態(tài)碼, 超時則返回ERR_USB_UNKNOWN */ { #ifdef DEF_INT_TIMEOUT 0 #if DEF_INT_TIMEOUT < 1 while ( Query376Interrupt( ) == FALSE ); /* 一直等中斷 */ return( CH376GetIntStatus( ) ); /* 檢測到中斷 */ #else UINT32 i; for ( i = 0; i < DEF_INT_TIMEOUT; i ++ ) { /* 計數(shù)防止超時 */ if ( Query376Interrupt( ) ) return( CH376GetIntStatus( ) ); /* 檢測到中斷 */ /* 在等待CH376中斷的過程中,可以做些需要及時處理的其它事情 */ } return( ERR_USB_UNKNOWN ); /* 不應(yīng)該發(fā)生的情況 */ #endif #else UINT32 i; for ( i = 0; i < 5000000; i ++ ) { /* 計數(shù)防止超時,默認的超時時間,與單片機主頻有關(guān) */ if ( Query376Interrupt( ) ){printf( "檢測到中斷返回中斷狀態(tài)~\n"); return( CH376GetIntStatus( ) );} /* 檢測到中斷 */ /* 在等待CH376中斷的過程中,可以做些需要及時處理的其它事情 */ } printf( "計數(shù)超時~!\n"); return( ERR_USB_UNKNOWN ); /* 不應(yīng)該發(fā)生的情況 */ #endif } #endif

--------------- 以上程序超時了,不知道為什么。出錯的主程序是下面的部分,在打開\\C51\\CH376HFT.C出現(xiàn)了超時導(dǎo)制返回了0XFA希望管理員能看到幫忙解決一下是什么問題。謝謝

---------------------------- /* 讀取原文件 */ printf( "Open\n" ); strcpy( buf, "\\C51\\CH376HFT.C" ); /* 源文件名,多級目錄下的文件名和路徑名必須復(fù)制到RAM中再處理,而根目錄或者當(dāng)前目錄下的文件名可以在RAM或者ROM中 */ s = CH376FileOpenPath( buf ); /* 打開文件,該文件在C51子目錄下 */

注:我是用SPI軟件模擬方式通信的


1、檢查一下CH376_INT_WIRE定義及方向是否正確 2、DiskMount是否成功? 3、單片機主頻是多少,設(shè)置的超時是否過短?返回0xFA時,檢測一下INT#的電平是多少


例程里面給出的超時時間是500萬次,對于實時性強的系統(tǒng)這個時間可以縮短不?可以的話縮短到多少合適?


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

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