请问CH375写扇区时写完512字节 返回值为06H是什么意思.谢谢
是第九个中断返回值么?若是,那么这是设备模式下的唤醒事件中断,主机模式下不应该产生,正确的中断返回值应该是14H,下载CH375EVT.ZIP,参考\CH375EVT\PUB\MCS51C\MISCELL,对比流程上是否有区别
成功的时候是14H,但我想把片内RAM中的数据复制到U盘中,返回值就成06H了.是在主机模式下的.
你的单片机的内部RAM是多少?
256字节,缓冲区是要512字节的吧,但是我只需要64字节.想把64字节同样的复制8次.返回06H后,U盘也自动断开连接了
估计还是程序上的问题,对比过例程的流程没? 把你的程序贴出来看看
;将数据写入指定扇区,用WR_USB_DATA7命令 MOV DPTR,#CMD ;命令 MOV A,#2BH MOVX @DPTR,A MOV DPTR,#DAT ;写数据 MOV A,#64 ;64个字节 MOVX @DPTR,A
;循环写入512个字节数据
MOV R0,#40H LOOP:
MOV A,@R0 ;写入的数据 MOVX @DPTR,A INC R0 NOP NOP NOP NOP NOP
DJNZ NUMDAT,LOOP;;;NUMDAT为64 ;DJNZ NUMDAT1,LOOP
MOV DPTR,#CMD ;继续写命令 MOV A,#57H MOVX @DPTR,A NOP NOP NOP NOP NOP DJNZ NUMDAT1,LOOP;;;;NUMDAT1为8
;获取中断状态 MOV DPTR,#CMD MOV A,#22H MOVX @DPTR,A
INC R0去掉的话就是把40H单元中的内容写了512次,这是可以的.就是不明白复制64个字节8次怎么就不可以了,而且U盘还断开连接.
写扇区流程有问题,请仔细参考CH375DS1.PDF中关于DISK_WRITE、DISK_WR_GO的说明及例程中的C语言流程