375设置模式6,接了U盘,返回15H;没接U盘,返回51;是什么问题?

请教: 375设置模式6,接了U盘,返回15H;没接U盘,返回51;但后面接了U盘以后,返回20H,是什么问题?

MOV DPTR,#0EFFFH;;;命令端口地址,下同 MOV A,#05H;;;;;;;;;执行硬件复位 MOVX @DPTR,A LCALL DEL40MS

;;***********(1) CH375工作测试,按位取反************************************* MOV DPTR,#0EFFFH MOV A,#06H;;;;;;;;;CH375工作测试,按位取反 MOVX @DPTR,A ACALL DEL

MOV DPTR,#0E7FFH;;;数据端口地址,下同 MOV A,#50H;;;;;;;;;读入取反的数据 MOVX @DPTR,A ACALL DEL

MOV DPTR,#0E7FFH MOVX A,@DPTR;;;;;;;读出取反的数据 MOV P1,A ACALL DEL2s ;;**************(2) CH375工作模式******************************************** MOV DPTR,#0EFFFH;;; MOV A,#15H;;;;;;;;;CH375工作模式 MOVX @DPTR,A ACALL DEL MOV DPTR,#0E7FFH MOV A,#06H;;;;;;;;;CH375工作模式6 MOVX @DPTR,A ACALL DEL1ms MOV DPTR,#0E7FFH;;;取出命令的输出操作状态 MOVX A,@DPTR;; ;成功=51H失败=5FH mov p1,a lcall del2s[Emot]4[/Emot][Emot]4[/Emot][Emot]4[/Emot][Emot]4[/Emot]

在你接上U盘之后,先产生一个51(设置模式成功的状态),接着在产生一个检测到设备连接的中断状态(0X15),在实际写程序的时候,只要你前面的测试命令过了的话,后面的设置模式是不需要判断其返回的状态的


375设置模式06,接了U盘,返回是15H; 没接U盘,返回才是51;

375设置模式07,接了U盘,返回是51H;


是不是我的单片机晶体是6MHz,375是12MHz的原因?


设置模式7的总线复位,你发送总线复位的命令只能说明你的总线复位成功,而模式6是设置375为主机方式,在设置模式之前,你如果将你的USB设备接上的话,那么,在设置好模式之后,先产生一个模式成功的状态(0X51)这个时间可能会很短,在接下来就产生一个检测设备连接的中断状态,返回的是设备连接(0X15),所以在做程序的时候,你可以这样,当你前面的测试命令成功了的话,你直接设置模式而不需要判断模式设置成功,因为对375来将,只要前面的测试命令成功的话,后面的模式设置一定会成功的,你可以不用判断这个状态也是可以的


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