[求助]能不能把 “CH375(主)-操作- CH372(從)”的CH375匯編樣板程序貼出來,萬分感謝!

請(qǐng)教大俠:能不能把 “CH375(主)-操作- CH372(從)”設(shè)計(jì)中CH375(主)的匯編樣板程序貼出來,萬分感謝!

我自己用匯編編了一段簡(jiǎn)單的數(shù)據(jù)發(fā)送程序,想看一下CH375發(fā)送數(shù)據(jù)給CH372是否成功。通過測(cè)試發(fā)現(xiàn)CH375和CH372設(shè)置模式已成功(D+=3.2V,D-=-0.01V),但傳輸數(shù)據(jù)未成功,不知問題在哪,請(qǐng)幫我檢查一下,謝謝! 我的CH375程序如下: CMD_RET_SUCCESS EQU 51H CMD_SET_USB_MODE EQU 15H CMD_WR_USB_DATA7 EQU 2BH CMD_GET_STATUS EQU 22H CMD_UNLOCK_USB EQU 23H CMD_RESET_ALL EQU 05H SEND_LEN EQU 30H SEND_BUFFER EQU 40H CMD_RD_USB_DATA EQU 28H CH375_CMD_PORT EQU 0BDF1H CH375_DAT_PORT EQU 0BCF0H USB_INT_SUCCESS EQU 14H CMD_SET_ENDP6 EQU 1CH CMD_SET_ENDP7 EQU 1DH CMD_ISSUE_TOKEN EQU 4FH CMD_CLR_STALL EQU 41H FLAG_JL_F BIT 1H ;************************************************************************************************* org 0 ljmp MAIN ORG 0003H LJMP INTER ORG 0030H ;********************************************************************************************** MAIN: lcall delay50ms LCALL INITIAL setb p1.0 CLR FLAG_JL_F MOV SEND_LEN,#2 ;發(fā)送數(shù)據(jù)長(zhǎng)度為2字節(jié) MOV 40H,#55H MOV 41H,#05H

CLR IT0 ;置外部信號(hào)為低電平觸發(fā) SETB PX0 ;置高優(yōu)先級(jí) CLR IE0 ;清中斷標(biāo)志 SETB EX0 ;允許CH375中斷 SETB EA HERE: JB P1.0,HERE ;通過硬件將P1.0置低 lcall wr_ch375 SJMP $ ;************************************************************************************************

wr_ch375: MOV A,SEND_LEN mov r3,SEND_LEN MOV DPTR,#CH375_CMD_PORT MOV A,#CMD_WR_USB_DATA7 MOVX @DPTR,A MOV DPTR,#CH375_DAT_PORT MOV A,SEND_LEN MOVX @DPTR,A MOV R1,#SEND_BUFFER CH375_INT_SEND: MOV A,@R1 MOVX @DPTR,A INC R1 DJNZ R3,CH375_INT_SEND

JNB FLAG_JL_F,XXX_JI XXX_OU: MOV DPTR,#CH375_CMD_PORT ;發(fā)送數(shù)據(jù)奇數(shù)次 MOV A,#CMD_SET_ENDP7 MOVX @DPTR,A MOV DPTR,#CH375_DAT_PORT MOV A,#0C0H MOVX @DPTR,A CLR FLAG_JL_F NOP NOP NOP NOP SJMP ISSUE_TOKEN XXX_JI: MOV DPTR,#CH375_CMD_PORT ;發(fā)送數(shù)據(jù)偶數(shù)次 MOV A,#CMD_SET_ENDP7 MOVX @DPTR,A

MOV DPTR,#CH375_DAT_PORT MOV A,#80H MOVX @DPTR,A SETB FLAG_JL_F NOP NOP NOP NOP

ISSUE_TOKEN: MOV DPTR,#CH375_CMD_PORT MOV A,#CMD_ISSUE_TOKEN MOVX @DPTR,A MOV DPTR,#CH375_DAT_PORT MOV A,#21H MOVX @DPTR,A NOP

RET ;************************************************************************************************

INITIAL: MOV DPTR,#CH375_CMD_PORT MOV A,#CMD_SET_USB_MODE MOVX @DPTR,A ;設(shè)置USB工作模式 DEC DPL MOV A,#06H MOVX @DPTR,A 設(shè)置為使用內(nèi)置固件的USB-host CH375_INIT_WT: MOVX A,@DPTR XRL A,#USB_INT_SUCCESS JNZ CH375_INIT_WT RET ;*************************************************************************************************

INTER: PUSH PSW ;現(xiàn)場(chǎng)保護(hù) PUSH ACC PUSH DPL PUSH DPH CLR IE0 clr ex0 MOV DPTR,#CH375_CMD_PORT MOV A,#CMD_GET_STATUS MOVX @DPTR,A MOV DPTR,#CH375_DAT_PORT MOVX A,@DPTR CJNE A,#USB_INT_SUCCESS,NEXT_1 LJMP CH375_INT_RET ;?中斷返回前是否要釋放當(dāng)前USB緩沖區(qū)??

next_1: MOV DPTR,#CH375_CMD_PORT ;操作錯(cuò)誤處理 MOV A,#CMD_CLR_STALL MOVX @DPTR,A MOV DPTR,#CH375_DAT_PORT MOV A,#02H MOVX @DPTR,A

CH375_INT_RET: setb ex0 POP DPH POP DPL POP ACC POP PSW RETI ;中斷返回 ;************************************************************************************************************************* delay50ms: mov r7,#100 ;original=50 dly_1: mov r6,#0ffh djnz r6,$ djnz r7,dly_1 ret ;----------------------------------------------------------------- END


有大俠幫我檢查一下嗎?檢查一下發(fā)送數(shù)據(jù)的流程是否正確? 萬分感謝?。?!


你做主機(jī)的CH375要用外部固件來寫,也就是說你要獲取描述符


謝謝大俠!我剛才在程序中把設(shè)置ch375-HOST模式(設(shè)為#06H)后要讀反饋成功(XRL A,#USB_INT_SUCCESS )的程序去掉發(fā)現(xiàn)發(fā)送數(shù)據(jù)成功了。

我現(xiàn)在有幾個(gè)問題請(qǐng)教大俠: 1.MCU在完成設(shè)置CH375模式后是否要等待讀取“設(shè)置模式成功”的反饋? 2.MCU發(fā)送一組數(shù)據(jù)給CH375完成后該怎樣處理,是否有什么反饋要處理(比如:CH375發(fā)送一個(gè)“下傳成功”的反饋信號(hào)給MCU)? 3.MCU從CH375接收一組數(shù)據(jù)后是否要發(fā)送一個(gè)反饋信號(hào)(如“上傳成功”)給CH375芯片?

萬分感謝大俠的指教!


1.會(huì)返回SUCCESS,你要讀去返回狀態(tài) 2,發(fā)送完一組數(shù)據(jù)會(huì)返回下傳成功,你要讀取狀態(tài) 3.是的


你可以到我們網(wǎng)站上下載CH375HST.ZIP的壓縮包,里面有詳細(xì)的流程說明


謝謝hcn大俠


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频