[求助]扇区写入出乱码

我用A51写的扇区写入程序,直接调用入口子程序,要写入的扇区数和入口地址都写了,就是在执行firewrite时返回的不是USB_INT_DISK_WRITE,而是00H,不知道是硬件问题还是程序问题.但程序和资料的介绍都相符,用字节写入就是正确的,扇区写入单步走时不转到写入程序段, 还望高手指点! 谢谢

按你说的以字节方式写正确,缓冲区也够的话,感觉会不会还是程序的问题,要不你把程序发到我们技术信箱吧,我们看一下。


这个可能你用的单片机是自带1K外部RAM的单片机,但是用的复制方式是P2+R0的方法,所以就会出错,你可以换成不带1K外部RAM的单片机来测试,或者不用P2+R0的复制方式,或者将自带外部RAM给关闭掉


那样的话RAM就不够了,还有P2+R0的复制方式是什么意思?


P2+R0的复制方式实际上就是将P2和R0一起作为DPTR来操作


我用双数据指针DPTR行不?


如果你的单片机有双DPTR的话,那你将ExecCommand子程序中扇区读写部分中的P2+R0方式改为双DPTR数据复制方式。


那你为什么要用P2+R0的方式呢?


P2+r0的数据复制方式比单DPTR或双DPTR要快。


使用DPTR会影响P2和P0口吗?


可以用双DPTR,前提是你的单片机里面需要有双DPTR才可以


只有登录才能回复,可以选择微信账号登录