我用DISK_READ和DISK_RD_GO命令以扇區(qū)讀數(shù)據(jù),可是在讀一個(gè)扇區(qū)或多個(gè)時(shí),中斷也產(chǎn)生了,可是在每次讀出來的64個(gè)字節(jié)的數(shù)據(jù)都是一樣的呢!而且從來沒有變過!都是那些數(shù)據(jù)! 多謝指點(diǎn)!
[Emot]27[/Emot]
我用DISK_READ和DISK_RD_GO命令以扇區(qū)讀數(shù)據(jù),可是在讀一個(gè)扇區(qū)或多個(gè)時(shí),中斷也產(chǎn)生了,可是在每次讀出來的64個(gè)字節(jié)的數(shù)據(jù)都是一樣的呢!而且從來沒有變過!都是那些數(shù)據(jù)! 多謝指點(diǎn)!
[Emot]27[/Emot]
問題太弄統(tǒng),要先看你的源程序,有可能操作步驟錯(cuò)了,或者沒有等到中斷就讀了
資料上說:在發(fā)出DISK_READ命令后,發(fā)出要讀的起始地址和長(zhǎng)度后,如果得到USB_INT_DISK_READ中斷狀態(tài),然后在中斷服務(wù)程序里面發(fā)出RD_USB_DATA命令后開始讀完下面的數(shù)據(jù)嘛!讀完數(shù)據(jù)后退出中斷然后在發(fā)送DISK_RD_GO讀下一組數(shù)據(jù)嘛! 我是按照這樣的順序來的啊,而且讀一個(gè)扇區(qū)時(shí)候9個(gè)中斷也產(chǎn)生了啊,程序正常完成了啊,就是數(shù)據(jù)不對(duì)!而且每次讀出來的都是相同的64個(gè)字節(jié)的數(shù)據(jù)!
這里有。 http://wch.cn/bbs/View.asp?S=101&I=5181
可能命令和數(shù)據(jù),數(shù)據(jù)和數(shù)據(jù)之間的延時(shí)時(shí)間沒有滿足要求
可是這個(gè)時(shí)間要怎么來把握呢?
命令數(shù)據(jù)之間延時(shí)>=2us,數(shù)據(jù)數(shù)據(jù)之間>=1us