[求助]376OPEN成功,讀取時(shí)返回B4 是怎么回事?

OK: 14 Wait Udisk/SD Ready? UdiskInfo: Generic-SD/MMC 1.00 Open OK: 14 從文件中讀出的前200個(gè)字符是: Error: B4 /****************************/ 電路幾乎按資料接的,能連接成功,應(yīng)該硬件沒問題吧?唯一和資料不一樣的是v33我接的100nF的電容,資料要求4.7n-20nF。 /***************************/ 出錯是在這段程序 while ( TotalCount ) { /* 如果文件比較大,一次讀不完 */ if ( TotalCount > sizeof(buf) ) i = sizeof(buf); /* 剩余數(shù)據(jù)較多,限制單次讀寫的長度不能超過緩沖區(qū)大小 */ else i = TotalCount; /* 最后剩余的字節(jié)數(shù) */ s = CH376ByteRead( buf, i, &RealCount ); /* 以字節(jié)為單位讀取數(shù)據(jù)塊,*/ mStopIfError( s ); TotalCount -= (UINT8)RealCount; /* 計(jì)數(shù),減去當(dāng)前實(shí)際已經(jīng)讀出的字符數(shù) */ for ( s=0; s!=RealCount; s++ ) printf( "%C", buf[s] ); /* 顯示讀出的字符 */ if ( RealCount < i ) { /* 實(shí)際讀出的字符數(shù)少于要求讀出的字符數(shù) */ printf( "\n" ); printf( "文件已經(jīng)結(jié)束\n" ); break; } } /*******************************************/ s = CH376ByteRead( buf, i, &RealCount ); 執(zhí)行完這句返回的是0xB4

0xb4說明文件沒有打開, 而OPEN返回的0x14,可能是之前的DISK_MOUNT命令的返回值。 查一下單片機(jī)的查詢中斷函數(shù),看看中斷引腳的配置 以及 中斷引腳的硬件連接 有沒有問題。


我想中斷應(yīng)該沒問題的吧?因?yàn)闆]有插U盤的時(shí)候停在Wait Udisk/SD,插上優(yōu)盤后繼續(xù)往下運(yùn)行,應(yīng)該說明中斷沒問題的,我現(xiàn)在情況是用51調(diào)試成功,上面的問題是我用PIC單片調(diào)試時(shí)出的問題。


等待中斷函數(shù)用下面的程序測試一下,在查詢中斷之前延時(shí)一段時(shí)間測試一下,如果正常 那說明確實(shí)是中斷引腳的配置問題。

UINT8 Wait376Interrupt( void ) /* 等待CH376中斷(INT#低電平),返回中斷狀態(tài)碼 */ { UINT32 i; mDelaymS( 100 ); /* 加入長時(shí)間延時(shí) */ for ( i = 0; i < 5000000; i ++ ) { /* 計(jì)數(shù)防止超時(shí),默認(rèn)的超時(shí)時(shí)間,與單片機(jī)主頻有關(guān) */ if ( Query376Interrupt( ) ) return( CH376GetIntStatus( ) ); /* 檢測到中斷 */ /* 在等待CH376中斷的過程中,可以做些需要及時(shí)處理的其它事情 */ } return( ERR_USB_UNKNOWN ); /* 不應(yīng)該發(fā)生的情況 */ }


用那個(gè)函數(shù)也不行,我直接用一管腳測中斷,測不到低電平就死循環(huán),結(jié)果能夠跳出死循環(huán),返回B4,中斷應(yīng)該是有了。我懷疑是不是電源之前我做51測試用的2A5V電源,這次PIC為了方便我用的電腦的USB口取電。。


應(yīng)該不是USB電源的問題,你把程序打包傳上來 看看。


非常感謝您的幫助程序已經(jīng)發(fā)到您簽名的郵箱(ljj@wch.cn )中去了。編譯軟件MPLAB C18,MCUPIC18F4520


頂一下別沉了哦


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

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