阅读:958回复:3
高分求助!!为什么我的usb连接不上。(怎么在芯片里设置重枚举?)
(采用89c51snd芯片,)
void main (void) { EA=1; //开中断 InitPLL();//设置时钟; delay(10); //P3_4=0; InitUSB();//初始化usb //P3_4=1; while(1) { delay(10000); //LED=!LED; } } void InterruptUSB(void) interrupt 13 { //读取描述符等 。。。。。。。 。。。。。。。 } void InitUSB(void) { USBCLK=0x03;//set USB clock 192/4=48MHz USB_EP0_RESET; //Endpoint复位 USB_EP1_RESET; USB_EP2_RESET; USBADDR=0x80; UEPIEN=0x07; UEPNUM=0x00; //设置Endpoint0 UEPCONX=USB_EPMOD_COLTROL; //设置控制传输 UEPNUM=0x01; //设置Endpoint1 UEPCONX=USB_EPMOD_BULK_OUT; UEPNUM=0x02; //设置Endpoint2 UEPCONX=USB_EPMOD_BULK_IN; UEPRST = 0x07; UEPRST = 0x00; USB_ENABLE_INT_EP0; //开EndPoint0中断 USB_ENABLE_INT_EP1; //开EndPoint0中断 USB_ENABLE_INT_EP2; //开EndPoint0中断 USBINT=0x00; //清除所有中断标记 USBIEN=0x39; //开全局中断 SET_BIT_6(IEN1); //开USB总中断 /*********************重枚举*************************/ USBCON=0x40; //停止USB delay(50000); USBCON=0x80; //启动USB /***********************************************/ } :( |
|
沙发#
发布于:2004-08-27 21:07
各位大侠,救急啊!!!
|
|
板凳#
发布于:2004-08-29 01:16
??????救急啊
|
|
地板#
发布于:2004-08-29 08:39
未用过,帮你顶~~~~
|
|