我用ch375a做主機(jī)和USB接口的鼠標(biāo)通信,發(fā)setup包請(qǐng)求設(shè)備描述符時(shí)總是返回2CH。 以下是我的原程序(試驗(yàn)性質(zhì)的) START: MOV SP,#STACK CLR EA ;禁止所有中斷 LCALL INIT_UART LCALL INIT_VARIABLE START1: mov a,#reset_all mov dptr,#usb1_cmd_addr movx @dptr,a lcall delay_40ms lcall delay_40ms start11: MOV A,#06H MOV DPTR,#USB1_CMD_ADDR ;CHECK EXIST MOVX @DPTR,A MOV A,#55H MOV DPTR,#USB1_DAT_ADDR MOVX @DPTR,A MOVX A,@DPTR LCALL UART_SEND ;AAH
MOV DPTR,#USB1_CMD_ADDR ;SET USB MODE MOV A,#SET_USB_MODE MOVX @DPTR,A MOV A,#05H ;MODE 05H MOV DPTR,#USB1_DAT_ADDR MOVX @DPTR,A START2: MOV A,#20H LCALL DELAY_A MOV DPTR,#USB1_DAT_ADDR MOVX A,@DPTR LCALL UART_SEND CJNE A,#CMD_RET_SUCCESS,START2 ;51H
;==========以上是設(shè)置375為主機(jī)模式,可以成功完成==============
START4: LCALL DELAY_40MS MOV C,INTO1 ;HOST WAIT DEVICE PLUG JC START4 LCALL GET_INT_STAT1 CJNE A,#USB_INT_CONNECT,START4 LCALL UART_SEND ;15H MOV DPTR,#USB1_CMD_ADDR ;復(fù)位USB總線 MOV A,#SET_USB_MODE MOVX @DPTR,A MOV A,#07H ;MODE 07 MOV DPTR,#USB1_DAT_ADDR MOVX @DPTR,A LCALL DELAY_40MS MOV DPTR,#USB1_CMD_ADDR MOV A,#SET_USB_MODE MOVX @DPTR,A MOV A,#05H ;MODE 05 MOV DPTR,#USB1_DAT_ADDR MOVX @DPTR,A START5: MOV C,INTO1 JC START5 LCALL GET_INT_STAT1 CJNE A,#USB_INT_CONNECT,START5 MOV USB1_CONNECT,#15H ;等待復(fù)位后設(shè)備再次連接上來(lái) LCALL UART_SEND ;15H
;=================USB設(shè)備已經(jīng)正常連接,也可以成功=================
; MOV A,#GET_DESCR ; MOV DPTR,#0200H ; MOVX @DPTR,A ; MOV A,#01H ; MOV DPTR,#0000H ; MOVX @DPTR,A
MOV A,#WR_USB_DATA7 ;GET DEVICE DESCRIPTOR MOV DPTR,#USB1_CMD_ADDR MOVX @DPTR,A MOV A,#08H ;8 BYTE MOV DPTR,#USB1_DAT_ADDR MOVX @DPTR,A MOV A,#80H ;80 MOVX @DPTR,A MOV A,#06H ;06 MOVX @DPTR,A MOV A,#00H ;00 MOVX @DPTR,A MOV A,#01H ;01 MOVX @DPTR,A MOV A,#00H ;00 MOVX @DPTR,A MOV A,#00H ;00 MOVX @DPTR,A MOV A,#12H ;12 MOVX @DPTR,A MOV A,#00H ;00 MOVX @DPTR,A MOV A,#ISSUE_TKN_X MOV DPTR,#USB1_CMD_ADDR MOVX @DPTR,A MOV A,#00H ;同步標(biāo)志 MOV DPTR,#USB1_DAT_ADDR MOVX @DPTR,A MOV A,#0DH ;事務(wù)屬性 MOV DPTR,#USB1_DAT_ADDR MOVX @DPTR,A START7: MOV C,INTO1 JC START7 LCALL GET_INT_STAT1 ??; LCALL UART_SEND CJNE A,#USB_INT_SUCCESS,START8?。淮藭r(shí)得到的中斷狀態(tài)總是2CH
LCALL UART_SEND SJMP $ 當(dāng)我用此程序和處于設(shè)備狀態(tài)的ch375通信時(shí),可以得到14H。請(qǐng)大家?guī)臀艺艺以颍呀?jīng)郁悶了好幾天了!謝謝了。