這幾天一直在調(diào)試CH375B的外置固件模式程序,內(nèi)置固件模式已經(jīng)調(diào)試好了(說明硬件沒有問題)。
外置固件模式程序調(diào)試中發(fā)現(xiàn),在0地址狀態(tài)時發(fā)送了設(shè)備描述符的前8個字節(jié)給PC,按USB協(xié)議規(guī)定,之后PC會發(fā)一個新的工作地址給USB設(shè)備,即應(yīng)該進入USB_INT_EP0_SETUP中斷狀態(tài)下的DEF_USB_SET_ADDRESS,但是調(diào)試中發(fā)現(xiàn)是進入了USB_INT_EP0_IN,之后就再沒有中斷了,請問在此時USB_INT_EP0_IN中斷應(yīng)該處理些什么呢? case USB_INT_EP0_IN: if(mVarSetupRequest==DEF_USB_GET_DESCR){ //描述符上傳 mCh375DesUp(); mCh375Ep0Up(); } else if(mVarSetupRequest==DEF_USB_SET_ADDRESS){ //設(shè)置地址 CH375_WR_CMD_PORT(CMD_SET_USB_ADDR); CH375_WR_DAT_PORT(VarUsbAddress); //設(shè)置USB地址,設(shè)置下次事務(wù)的USB地址 } CH375_WR_CMD_PORT (CMD_UNLOCK_USB); //釋放緩沖區(qū) break;
這是貴公司例程中的程序