最簡單的CH375讀U盤 問題! 管理員和高手請進(jìn)

好的 我今天晚上 在仔細(xì)的檢查一下 !

結(jié)果 明天在說 !

按照上面說的 我都將進(jìn)行測試 明天我給結(jié)果 !

luoye268268 你有QQ號嗎 我們聊聊286708537


我的 發(fā)現(xiàn) ! 其實(shí)問題 是出現(xiàn)在 c = CH375_WaitInt(); CH375_WriteCmd( CMD_DISK_READ ); CH375_WriteData( (unsigned char)iLbaStart ); CH375_WriteData( (unsigned char)( iLbaStart >> 8 ) ); CH375_WriteData( (unsigned char)( iLbaStart >> 16 ) ); CH375_WriteData( (unsigned char)( iLbaStart >> 24 ) ); CH375_WriteData( iSectorCount ); c = CH375_WaitInt(); //這里 就是這里出問題 到這里時正確講是 254 就是讀了254個扇區(qū) 到這就下不去了

hcn 說的 大端小端問題 我覺得 datasheet上寫的是 低字節(jié) 較低字節(jié) 較高字節(jié) 最高字節(jié) 就是有進(jìn)位 按照這個順序送數(shù)據(jù) 我覺得也是正確的啊 如果說有進(jìn)位情況引起問題 那我的還沒產(chǎn)生進(jìn)位我想是這樣的 主程序從 775扇區(qū)讀取正確讀取254扇區(qū) 到255時 送完lba和扇區(qū)個數(shù) 到c = CH375_WaitInt(); 就不行了 我解決不了

還有就是 hcn 說的 大小端互換 不符合 datasheet 還能讀出 數(shù)據(jù)嗎 ? 我沒試過 但是這與數(shù)據(jù)手冊不符啊

我卡了好幾天了 大家?guī)兔Π?

再次感謝

hcn luoye268268


按照說明書上面說的,先寫低字節(jié),在小端格式的單片機(jī)中,低字節(jié)在前,高字節(jié)在后,也就是說你上面的程序先送的是最高字節(jié)的數(shù)據(jù),接著是次高字節(jié)的數(shù)據(jù),再者是次次高數(shù)據(jù),最后是低字節(jié)數(shù)據(jù),這樣的話,就不符合說明書上面所說的要求了


那就得

CH375_WriteCmd( CMD_DISK_READ ); CH375_WriteData( (unsigned char)( iLbaStart >> 8 ) ); CH375_WriteData( (unsigned char)iLbaStart ); CH375_WriteData( (unsigned char)( iLbaStart >> 24 ) ); CH375_WriteData( (unsigned char)( iLbaStart >> 16 ) ); CH375_WriteData( iSectorCount );

對吧 我今天晚上是是 !


應(yīng)該是這樣: CH375_WriteCmd( CMD_DISK_READ ); CH375_WriteData( (unsigned char)( iLbaStart >> 24 ) ); CH375_WriteData( (unsigned char)(iLbaStar>>16) ); CH375_WriteData( (unsigned char)( iLbaStart >> 8 ) ); CH375_WriteData( (unsigned char) iLbaStart ); CH375_WriteData( iSectorCount );


hcn 我昨天晚上 實(shí)驗(yàn)了 ! 1、 A0 的情況 2、 大小端格式的情況

還是不行 跟以前的問題一樣 ! 變換大小端 是不行的 !

我解決不了啊 !

hcn 幫幫我

這段程序是按照 本網(wǎng)站提供的51改成 avr 的 ! 可是就是不行啊 不知道51用這段程序是怎樣實(shí)現(xiàn)的 !

他能實(shí)現(xiàn)嗎 ? 一定要用 貴公司提供的庫嗎 ?

我都要轉(zhuǎn) sl811 了 !?。?!

我暈啊


以你最初的程序?yàn)槔赡苡幸韵洛e誤: 1、#define CH375_CLOSE CH375_A0=1;CH375_CS=1;CH375_WR=1;CH375_RD=1 應(yīng)該改為CH375_A0=1在最后,因?yàn)樵贑S/WR/RD的下降沿檢測A0,過早地撤到A0會導(dǎo)致命令/數(shù)據(jù)異常 2、for(i=775;i<65535;i++) //775 568 應(yīng)該盡為i=0;.....,有的U盤第一次讀操作必須是0#扇區(qū),不能跳過


順便說下,該程序包括所有類似的采用移位的例子程序,都完全沒有大小端問題


收到 我試試


void CH375_WriteCmd(unsigned char cmd) // 向CH375的命令端口寫入命令,周期不小于4uS,如果單片機(jī)較快則延時 { delay_us(2); // 2一定要2US,不然會出問題 CH375_A0=1; // A0=1 CH375_DATA_PORT=cmd; // 放好數(shù)據(jù) CH375_DATA_PORT_OUT; // 方向輸出 CH375_CS=0; CH375_WR=0 CH375_RD=1; DELAY500ns; //最少500NS CH375_WR=1; CH375_CS=1; //CH375_WRITE_CMD_OK; // A0=1 CS=0 WR=0 RD=1 delay_us(1); // 1 // 發(fā)出命令碼前后應(yīng)該各延時2uS,對于不快的單片機(jī)可以不需要延時 //CH375_CLOSE; // A0=1 CS=1 WR=1 RD=1 命令狀態(tài)關(guān)閉 CH375_DATA_PORT_IN; // 數(shù)據(jù)方向輸入 delay_us(2); // 延時2US

}

void CH375_WriteData(unsigned char data) //向CH375的數(shù)據(jù)端口寫入數(shù)據(jù),周期不小于1.5uS,如果單片機(jī)較快則延時 { CH375_DATA_PORT=data; // 放好數(shù)據(jù) CH375_DATA_PORT_OUT; // 數(shù)據(jù)方向輸出 CH375_A0=0; CH375_CS=0; CH375_WR=0; CH375_RD=1; DEALY500ns();//延時500NS CH375_WR=1; CH375_CS=1; //CH375_WRITE_DATA_OK; // A0=0 CS=0 WR=0 RD=1 //delay_us(5); // 1 //CH375_CLOSE; // A0=1 CS=1 WR=1 RD=1 命令狀態(tài)關(guān)閉 CH375_DATA_PORT_IN; // 禁止數(shù)據(jù)輸出 delay_us(1); // 1 // 延時 } unsigned char CH375_ReadData(void) //從CH375的數(shù)據(jù)端口讀出數(shù)據(jù),周期不小于1.5uS,如果單片機(jī)較快則延時 { unsigned char d; delay_us(1); // 1// 延時不超過5US,否則會出問題 CH375_DATA_PORT_IN; // 數(shù)據(jù)輸入 // CH375_READ_DATA_OK; // A0=0 CS=0 WR=1 RD=0 CH375_CS=0; CH375_WR=1; CH375_RD=0; DELAY500ns(); d=CH375_DATA_PIN; // 讀引腳數(shù)據(jù) CH375_RD=1; CH375_CS=1; // delay_us(1); // CH375_CLOSE; // A0=1 CS=1 WR=1 RD=1 命令狀態(tài)關(guān)閉 return d; } 你可以使用這三個讀寫子函數(shù),還有就是你的單片機(jī)的晶振是多少?延時不能太長,我這邊測試過,用的是AVR128單片機(jī),總線方式,讀500個扇區(qū)都沒問題


我的晶振 是 8M 我用的是 CVAVR 的 delay.h 里面的 delay_us() 函數(shù) 精確問題 我想應(yīng)該可以 !

我用的是 mega8 mega162 沒用總線 是IO 模擬的 程序你可以看出來

按照大家的 建議 我在是是 我會盡快給結(jié)果的 !


程序通過了 十分感謝大家 是 店小二的問題 ! 同時 hcn 給我很大的幫助 !

結(jié)論: 要十分注意 時序的正確 ! CH375還是很好的 ! 支持一下 !

再次感謝:

hcn 店小二 luoye268268 ffly

謝謝大家


能不能給我一份ch375.lib啊,我前天申請了權(quán)限,為什么還不讓我下載???


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

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