CH375命令54H請(qǐng)教大家!?。。∵M(jìn)來(lái)幫忙?。。。。。?!

Atmegal16l單片機(jī)發(fā)54H,從USB設(shè)備讀數(shù)據(jù)塊。用三個(gè)U盤進(jìn)行測(cè)試,其中兩個(gè)U盤每次讀的數(shù)據(jù)都正確。 當(dāng)用天朗U盤測(cè)試時(shí),不能讀出完整的扇區(qū)數(shù)據(jù),有時(shí)讀出64Byte數(shù)據(jù),有時(shí)讀出128Byte數(shù)據(jù),換不同扇區(qū)都是這樣。發(fā)53H命令測(cè)試U盤容量,能獲得正確數(shù)據(jù)。發(fā)59H命令測(cè)試U盤是否就緒,能獲得正確數(shù)據(jù)14H。 這種情況怎么解決?????請(qǐng)教各位?。。。。。。。。?/p>

這個(gè)好像U盤好像比較特殊??! 你看看這個(gè)帖子?。? http://wch.cn/bbs/View.asp?T=1&S=101&I=311 感謝 mcu_xray { M } 的共享??!


我直接貼出來(lái)吧?。『呛?! mcu_xray { M } 寫的??! 你可以參考下??! 讀天朗A10U盤的問(wèn)題解決了。下面部分源代碼 /******************************************************************/ /*名稱: ReadSector(ulong Sectors,uchar xdata *pr) */ /*描述: 讀扇區(qū)內(nèi)容 每次讀1個(gè)扇區(qū) */ /*輸入?yún)?shù):扇區(qū)地址,接收緩沖區(qū)指針 */ /*輸出參數(shù):1:讀成功 0:讀失敗 */ /*******************************************************************/ uchar ReadSector(ulong Sectors,uchar xdata *pr) {union longEx Secaddr; uchar n,mBlockCount,mLength; Secaddr.lng=Sectors; CH375_CMD_PORT=CMD_DISK_READ; _nop_(); _nop_(); CH375_DAT_PORT=Secaddr.bytes[3]; CH375_DAT_PORT=Secaddr.bytes[2]; CH375_DAT_PORT=Secaddr.bytes[1]; CH375_DAT_PORT=Secaddr.bytes[0]; CH375_DAT_PORT=1;/*扇區(qū)數(shù)*/ n=Wait_Interrupt(); if(n!=USB_INT_DISK_READ) return FALSE; for(mBlockCount=0;mBlockCount<8;mBlockCount++) { CH375_CMD_PORT=CMD_RD_USB_DATA; _nop_(); _nop_(); mLength=CH375_DAT_PORT; while(mLength) { *pr++=CH375_DAT_PORT; n=CH375_DAT_PORT; mLength--; } wait_1mS(10);/*這里延時(shí)是關(guān)鍵*/ CH375_CMD_PORT=CMD_DISK_RD_GO;/*繼續(xù)執(zhí)行讀操作*/ n=Wait_Interrupt(); if(n!=USB_INT_DISK_READ) break; } if(n==USB_INT_SUCCESS) return TRUE; else return FALSE; }


非常感謝小小何同志^.^我馬上用你的方法試試,呆會(huì)來(lái)匯報(bào)結(jié)果?。?!


感謝小小何的幫助,在命令CH375_CMD_PORT=CMD_DISK_RD_GO前加10ms延時(shí)問(wèn)題解決??! 再次感謝!??!


我用的正是天朗A10盤,今天找了一下午都沒(méi)找到原因?。。。。。‖F(xiàn)在開心了~~~~~~~


我有兩個(gè)地方不明白,請(qǐng)教 { *pr++=CH375_DAT_PORT; n=CH375_DAT_PORT; 這句做什么用途? mLength--; } wait_1mS(10);/*這里延時(shí)是關(guān)鍵*/ 真的要延時(shí)嗎,我認(rèn)為不應(yīng)該需要,就算要也不能10ms這么長(zhǎng)


看起來(lái)是忽略這些數(shù)據(jù)??!以保證程序的執(zhí)行!

這個(gè)是mcu_xray 寫的?。?不是我寫的?。『呛?!


我只是轉(zhuǎn)載了??!

感謝mcu_xray的無(wú)私共享!!


另:希望大家將遇到的問(wèn)題,怎么解決的都寫上來(lái)!像mcu_xray這樣,為大家服務(wù)??! 一起進(jìn)步!

PS:論壇上有很多好的帖子! 要我們好好的吸收??!呵呵





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

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