CH37BReady成功,但讀取失敗

CH375B 芯片,單片機(jī)是STC12C5A60S2,60K ROM,256 字節(jié)內(nèi)部RAM,1K內(nèi)部擴(kuò)展RAM,主機(jī)模式。 初始化芯片,初始化U盤(pán)都成功,Ready測(cè)試也成功了,但讀取U盤(pán)容量為有時(shí)返回0X1F 有時(shí)返回0X14,返回0x14時(shí)容量為0,文件系統(tǒng)讀取也為0。運(yùn)行讀取引導(dǎo)扇區(qū)時(shí)進(jìn)入讀取狀態(tài)就出不來(lái)了,可以看到U盤(pán)的指示燈再閃,U盤(pán)就熱了,但這樣持續(xù)幾分鐘還在閃。 U盤(pán)是金士頓8G的,F(xiàn)AT32。也換了多個(gè)個(gè)優(yōu)盤(pán)測(cè)試有金士頓8G,F(xiàn)AT32的和閃迪8G,F(xiàn)AT32的,但情況都一樣。

測(cè)試程序是CH375EVT\PUB\MCS51C\MISCELL\CH375EV0.C 誰(shuí)能給我些查找問(wèn)題的方向,給我些建議嗎?謝謝。


熱門(mén)產(chǎn)品 : CH32X035: 32位USB+USB PD單片機(jī)

你拿這個(gè)例子程序去測(cè)試下,出現(xiàn)返回0X1F的話需要發(fā)送命令重試的。UploadImages/20129288311859.rar


我試了,就一次正確的讀出了0扇區(qū),再下面就不行了。 我在讀取函數(shù)中加了顯示出每次讀取塊長(zhǎng)度C的值,您請(qǐng)看 for ( mBlockCount = iSectorCount * 8; mBlockCount != 0; mBlockCount -- ) { /* 數(shù)據(jù)塊計(jì)數(shù) */ c = mWaitInterrupt( ); /* 等待中斷并獲取狀態(tài) */ if ( c == USB_INT_DISK_READ ) { /* 等待中斷并獲取狀態(tài),USB存儲(chǔ)器讀數(shù)據(jù)塊,請(qǐng)求數(shù)據(jù)讀出 */ CH375_WR_CMD_PORT( CMD_RD_USB_DATA ); /* 從CH375緩沖區(qū)讀取數(shù)據(jù)塊 */ c = CH375_RD_DAT_PORT( ); /* 后續(xù)數(shù)據(jù)的長(zhǎng)度 */ k=c; while ( c -- ) *oDataBuffer++ = CH375_RD_DAT_PORT( ); /* 根據(jù)長(zhǎng)度讀取數(shù)據(jù)并保存 */ printf("c=%x\n",k);//查看每次要讀取數(shù)據(jù)長(zhǎng)度 CH375_WR_CMD_PORT( CMD_DISK_RD_GO ); /* 繼續(xù)執(zhí)行USB存儲(chǔ)器的讀操作 */ }

返回: c=4000 c=4000 c=7400 c=6600 c=4000 c=4000 c=0

有時(shí)候返回其他的,但程序就是走不出來(lái)了。


你要把讀取的物理扇區(qū)地址給出,把讀取的扇區(qū)數(shù)給出,不要改我們的函數(shù)流程,如果讀不對(duì),就多換幾個(gè)U盤(pán),或者檢查硬件,軟件不該的話就不是軟件的問(wèn)題。順便說(shuō)下,你想用我們的片子干什么?可以用我們的庫(kù)啊


讀取扇區(qū)地址0 扇區(qū)數(shù)1 程序流程沒(méi)有改 我的目的就是能讀寫(xiě)優(yōu)盤(pán),創(chuàng)建文件就行 我想是硬件或優(yōu)盤(pán)的問(wèn)題,因?yàn)榈谝淮尉妥x出來(lái)了,可就那一次,以后就不行了,但優(yōu)盤(pán)燈一直在閃。有幾次返回了0x17


如果目的就是能讀寫(xiě)優(yōu)盤(pán),創(chuàng)建文件,而不是移植自己的文件系統(tǒng)的話,那么建議你去我們官網(wǎng)上下載CH375EVT,CH375LIBZIP,里面都有51下操作U盤(pán)的多個(gè)例子程序,直接建工程,改接口地址就能使用


用了庫(kù)文件CH375HFT.C CH375HT4.LIB CH375HT4.LIB 運(yùn)行到fileopen時(shí)返回0x92或0x17


CH375B芯片,F(xiàn)At32文件系統(tǒng)U盤(pán) 單片機(jī)是STC12C5A60S2,60K ROM,256 字節(jié)內(nèi)部RAM,1K內(nèi)部擴(kuò)展RAM,主機(jī)模式。


FAT32文件系統(tǒng)使用LIB6的庫(kù)或者LIB5的庫(kù),建議使用LIB5的庫(kù),你的單片機(jī)速度比較快,所以三個(gè)讀寫(xiě)子函數(shù)需要加延時(shí)才能操作。


您好 這是我用Lib5的庫(kù)返回的信息 不知道是什么意思

Wait Udisk Ready ? Sector size 5140 Too large sector size


磁盤(pán)扇區(qū)過(guò)大,但是應(yīng)該是512的整數(shù)倍


不知道這是什么原因,如果我設(shè)置Sector size為512 則會(huì)返回0x17,請(qǐng)問(wèn)是什么問(wèn)題?


0x17/* USB控制傳輸?shù)臄?shù)據(jù)太多, 緩沖區(qū)溢出 */ 用WINHEX這個(gè)軟件看你的磁盤(pán)扇區(qū)大小 您自動(dòng)獲取磁盤(pán)的扇區(qū)大小,如果CH375vSectorSize的值和WINHEX看到的值不一樣說(shuō)明你單片機(jī)和375接口通訊有問(wèn)題


我換了 5V的電壓供電 可以讀出數(shù)據(jù) 讀引導(dǎo)扇區(qū) 和winhex讀出的數(shù)據(jù)類(lèi)似 但和winhex讀的比較中間有好幾個(gè)字節(jié)沒(méi)有讀出來(lái) 不是連續(xù)的 偶爾漏掉一個(gè)字節(jié) 最后結(jié)尾標(biāo)志55 AA后面幾個(gè)字節(jié)數(shù)據(jù)


有時(shí)候會(huì)返回錯(cuò)誤 0x17 有時(shí)候可以讀取


您好 我又換了一個(gè)硬件模塊,讀寫(xiě)都好了,是第一個(gè)模塊供電和一些電容的問(wèn)題。 這個(gè)好的模塊 我在往文件里寫(xiě)數(shù)據(jù)時(shí)當(dāng)有漢字時(shí)偶爾出現(xiàn)亂碼,另外在串口打印時(shí)也是這樣比如本來(lái)是“今天的ADC數(shù)據(jù)到此結(jié)束”卻成了“今天的ADC示蕕醬私崾?”,“每簇扇區(qū)數(shù)”成了“每簇扇區(qū)?” 不知道又是哪的問(wèn)題,請(qǐng)您指導(dǎo)。


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

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