我用A51寫的扇區(qū)寫入程序,直接調(diào)用入口子程序,要寫入的扇區(qū)數(shù)和入口地址都寫了,就是在執(zhí)行firewrite時(shí)返回的不是USB_INT_DISK_WRITE,而是00H,不知道是硬件問(wèn)題還是程序問(wèn)題.但程序和資料的介紹都相符,用字節(jié)寫入就是正確的,扇區(qū)寫入單步走時(shí)不轉(zhuǎn)到寫入程序段, 還望高手指點(diǎn)! 謝謝
按你說(shuō)的以字節(jié)方式寫正確,緩沖區(qū)也夠的話,感覺(jué)會(huì)不會(huì)還是程序的問(wèn)題,要不你把程序發(fā)到我們技術(shù)信箱吧,我們看一下。
這個(gè)可能你用的單片機(jī)是自帶1K外部RAM的單片機(jī),但是用的復(fù)制方式是P2+R0的方法,所以就會(huì)出錯(cuò),你可以換成不帶1K外部RAM的單片機(jī)來(lái)測(cè)試,或者不用P2+R0的復(fù)制方式,或者將自帶外部RAM給關(guān)閉掉
那樣的話RAM就不夠了,還有P2+R0的復(fù)制方式是什么意思?
P2+R0的復(fù)制方式實(shí)際上就是將P2和R0一起作為DPTR來(lái)操作
我用雙數(shù)據(jù)指針DPTR行不?
如果你的單片機(jī)有雙DPTR的話,那你將ExecCommand子程序中扇區(qū)讀寫部分中的P2+R0方式改為雙DPTR數(shù)據(jù)復(fù)制方式。
那你為什么要用P2+R0的方式呢?
P2+r0的數(shù)據(jù)復(fù)制方式比單DPTR或雙DPTR要快。
使用DPTR會(huì)影響P2和P0口嗎?
可以用雙DPTR,前提是你的單片機(jī)里面需要有雙DPTR才可以