WR_USB_CMD(CMD_GET_STATUS); /* 獲取中斷狀態(tài)并取消中斷請求 */ InterruptStatus =RD_USB_DAT();//上電后得到的數(shù)據(jù) InterruptStatus=03H USB_INT_BUS_RESET1 =0CH USB_INT_EP0_SETUP =08H USB_INT_EP0_IN =00H USB_INT_EP0_OUT =07H USB_INT_BUS_RESET2 =0CH USB_INT_EP0_SETUP =08H USB_INT_EP0_IN =00H USB_INT_EP0_OUT =07H USB_INT_BUS_RESET2 =0CH USB_INT_EP0_SETUP USB_INT_BUS_RESET1,USB_INT_BUS_RESET2怎么處理。有什么區(qū)別 第1個USB_INT_EP0_SETUP;接收數(shù)據(jù)是 80 06 00 01 00 00 40 00 第2個USB_INT_EP0_SETUP;接收數(shù)據(jù)是 80 06 00 01 00 00 40 00 第3個USB_INT_EP0_SETUP;接收數(shù)據(jù)是 80 06 00 01 00 00 40 00 照理第2個不應(yīng)該是那個命令了,應(yīng)該是00 50 02 00 00 00 00 00 我想可能是處理GET_DESCRIPTOR有問題,或者是處理USB_INT_EP0_IN,USB_INT_EP0_OUT有問題。那個外置例子是不是有問題???還有例子上GET_DESCRIPTOR中把要發(fā)的描述符存下來然后不等主機的USB_INT_EP0_IN,就發(fā)給主機,第一次可能可以的可是當80 06 00 01 00 00 12 00就不行吧,還請高手指點
你用的是哪個例子啊,是不是在調(diào)試時出的問題啊
是的,USBEX.C
不好意思是我寫的有問題,忘了寫IE0 = 0;了,謝謝你,不過我還在調(diào)試,再有問提還要麻煩您!
好的。
我做的是HID鍵盤,現(xiàn)在枚舉都通過了,setreport命令也能接受到LED的正確顯示,可是CMD_GET_STATUS在命令后得到USB_INT_EP0_IN,USB_INT_EP0_OUT后,程序就不能進中斷,也就得不到USB_INT_EP1_IN,我不知道是哪出了問題。//端點描述符 0x07, //bLength 0x05, //bDescriptorType 0x81, //bEndpointAddress 0x03, //bmAttributes 0x08,0x00, //wMaxPacketSize 0x0A //bInterval
上位機程序是不是要修改啊???