USB中断寄存器.docVIP

  • 5
  • 0
  • 约6.02千字
  • 约 6页
  • 2017-06-07 发布于重庆
  • 举报
USB中断寄存器

********************************************************* //* 输入 : USB中断寄存器 * //* 输出 : 无??????????????????????????????? * //* 功能 : 根据ISR,进行相应的处理??????????? * //*********************************************************************** void USB_Debug_Mode(void) { if(USB_Int_Flag.BITS.EP0SETUP) //若中断事件为控制端点0的SETUP事件 USB_Setup(); //进行SETUP事务的处理-- ?? if(USB_Int_Flag.VALUE!=0) //如果中断标志非0 ?? { /* if(USB_Int_Flag.BITS.SOF) USB_Int_Flag.BITS.SOF=0; if(USB_Int_Flag.BITS.uSOF) USB_Int_Flag.BITS.uSOF=0;*/ if(USB_Int_Flag.BITS.SUSP) //如果是SUSPEND(休眠)引起的中断 { USB_Int_Flag.BITS.SUSP = 0; //清除中断标志 D14_Cntrl_Reg.D14_MODE.BITS.GOSUSP = 1; D14_Cntrl_Reg.D14_MODE.BITS.GOSUSP = 0; //向ISP1581的MODE寄存器GOSUSP位先写1,再写0,激活SUSPEND模式 //具体定义参考ISP1581的数据手册 } if(USB_Int_Flag.BITS.RESUME) //如果是RESUME(唤醒)引起的中断 { USB_Int_Flag.BITS.RESUME = 0; //清除中断标志???????? D14_Cntrl_Reg.D14_MODE.BITS.SNDRSU = 1; D14_Cntrl_Reg.D14_MODE.BITS.SNDRSU = 0; //向ISP1581的MODE寄存器SNDRSU位先写1,再写0,在USB总线上发送Resume信号 D14_Cntrl_Reg.D14_UNLOCK_DEVICE_LSB = 0x37; D14_Cntrl_Reg.D14_UNLOCK_DEVICE_MSB = 0xAA; //向ISP1581写 0xaa37 解锁FIFO. } if(USB_Int_Flag.BITS.HS_STAT) //如果是要求速度变换到高速引起的中断 { USB_Int_Flag.BITS.HS_STAT = 0; //清除中断标志 if(Kernel_Flag.BITS.HS_FS_State == FULL_SPEED) //如果当前工作在全速状态 { // HS_FS_LED = HIGH_SPEED; Kernel_Flag.BITS.HS_FS_State = HIGH_SPEED; //更改速度状态为高速 Init_Endpoint(); //重新初始化端点,因为端点在 } } if(USB_Int_Flag.BITS.DMA) //如果是DMA中断 { USB_Int_Flag.BITS.DMA = 0; //清除中断标志 Kernel_Flag.BITS.Transfer_Start =1; //更改kernel标志,进行DMA传输 } /* if(USB_Int_Flag.BITS.EP0TX) USB_Int_Flag.BITS.EP0TX = 0; if(USB_Int_Flag.BITS.EP0RX) USB_Int_Flag.BITS.EP0RX = 0;//*/ ?? } } void USB_Setup(void) { USB_Int_Flag.BITS.EP0SETUP = 0; ? //清除中断标志 D14_Cntrl_Reg.D14_ENDPT_INDEX = 0x20;//将ISP1581的端点索引指向SETUP缓存 //以下将依次读回SETUP包的8个字节数据,具体定义可在USB2.0规范中的9.3节查看 USB_Device_Request.bmRequestType = D14_Cntrl_Reg.D14_DATA_PORT_LSB; //请求类型 USB_Device_Request.bRequest = D14_Cntrl_Reg.D14_DATA_PORT_LSB; //具体请求 USB_Device_Request.wValue = D14_Cntrl_Reg.D14_D

文档评论(0)

1亿VIP精品文档

相关文档