關(guān)于CH375A讀U盤數(shù)據(jù)的問(wèn)題

我調(diào)試CH375HFT.C程序時(shí),初始化CH375正確,測(cè)試U盤連接,U盤準(zhǔn)備返回的值都是正確的,可是下段程序時(shí),程序就跳不出來(lái)了,

#if DISK_BASE_BUF_LEN if ( DISK_BASE_BUF_LEN < CH375vSectorSize ) { /* 檢查磁盤數(shù)據(jù)緩沖區(qū)是否足夠大,CH375vSectorSize是U盤的實(shí)際扇區(qū)大小 */ printf( "Too large sector size\n" ); while ( CH375DiskConnect( ) == ERR_SUCCESS ) mDelay100mS( ); continue; } #endif 然后,我直接把上段程序屏蔽,直接往下走, LED_RUN_ACT( ); /* 開始操作U盤 */ printf( "Open\n" ); mCopyCodeStringToIRAM( mCmdParam.Open.mPathName, "\\C51\\CH375HFT.C" ); i = CH375FileOpen( ); /* 打開文件 */ 這時(shí),i返回的值是0X1F

不知道為什么,請(qǐng)高手指教,謝謝!

因?yàn)?,我是用仿真器在運(yùn)行程序,我懷疑是不是RAM不夠用,后來(lái)寫了一個(gè)片子,還是不行,我的硬件沒(méi)有擴(kuò)展62256,以后寫芯片想用STC89C58RD+,應(yīng)該沒(méi)問(wèn)題吧?


至于有沒(méi)有問(wèn)題,是不是RAM的問(wèn)題,你看一下你編譯完畢后,DATA,XDATA占用多少就知道了.


data=113.5,xdata=30749 有警告語(yǔ)句用內(nèi)存超出范圍。

我用仿真器調(diào)試程序時(shí),也考慮了RAM的問(wèn)題,我特意選了一個(gè)有大RAM的單片機(jī), 如果不想改電路,還有其它辦法沒(méi)有?。空?qǐng)指教,謝謝 昨天測(cè)U盤扇區(qū)讀寫程序時(shí),這個(gè)電路完全好用。


估計(jì)是你的內(nèi)部RAM分配有問(wèn)題,你編譯的時(shí)候采用LARGE模式編譯看下可以不可以?


采用LARGE還是一樣的,如果編譯后XDATA為30000多那么即使我寫片子也不會(huì)好使呀,我手頭有一個(gè)1024RAM的片子,為什么呢,

我的程序是:EXAM1中的CH375HF。C,加入的頭文件為 CH375HF6.H,庫(kù)文件為CH375HF6.LIB


外部RAM的話如果編譯器是KEIL的話,應(yīng)該不會(huì)報(bào)外部RAM出現(xiàn)問(wèn)題,你最后操作的時(shí)候,你使用例子7里面的程序,這個(gè)是以字節(jié)方式來(lái)對(duì)U盤進(jìn)行操作的,RAM要求很少,你的1024字節(jié)的RAM是完全夠了


多謝解答:)


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

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