USB存储设备操作失败

使用CH375B芯片。因系统资源原因,用51汇编实现USB的读写。初始化命令后已经检测到USB连接。但只要是产生中断的命令都是返回USB存储设备操作失败值1F。 原因何在?请不吝赐教。 是不是每次发送产生中断的命令之前都需要先发送一条初始化命令?

51汇编如下: MOV A,#DISK_READY ;检查USB存储设备是否就绪 LCALL CH375_INT0 。。。。。

;发送命令并查询中断状态 CH375_INT0: MOV R0,#DAT_TAB MOV @R0,A MOV R7,#00H LCALL SEND_CMD LCALL QUERYINTERRUPT CJNE A,#14H,CH375_INT0_1 MOV B,#00H RET CH375_INT0_1: MOV B,#81H RET 。。。。。

;发送命令 SEND_CMD: MOV R0,#DAT_TAB MOV DPTR,#CH375_CMD_ADDR MOV A,@R0 MOVX @DPTR,A NOP NOP NOP NOP NOP NOP MOV A,R7 JZ SEND_CMD_X MOV DPTR,#CH375_DAT_ADDR SEND_CMD_1: INC R0 MOV A,@R0 MOVX @DPTR,A NOP NOP NOP DJNZ R7,SEND_CMD_1 SEND_CMD_X: RET ; 。。。。。。。。。。。 QUERYINTERRUPT: MOV R7,#0C8H ;延时100ms; LCALL MDELAYMS QUERYINTERRUPT_0: JB CH375_INT,QUERYINTERRUPT_0 ;检测INT0中断信号 MOV R0,#DAT_TAB MOV @R0,#GET_STATUS ;获取中断状态并取消请求 MOV R7,#00H LCALL SEND_CMD MOV R7,#64H LCALL MDELAYMS MOV DPTR,#CH375_DAT_ADDR MOVX A,@DPTR RET

测试命令有没有做过,检查硬件连接有没有问题? USB模式有没有设置成功?


测试工作状态、获取版本号、设置USB工作模式已正常通过。

测试工作状态:返回发送数据的反码 版本号返回:B7 设置USB工作模式06,返回51


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