コード例 #1
0
//----------------------------------------------------------------------------
BYTE OEP0InterruptHandler(VOID)
{
    BYTE bWakeUp = FALSE;
    USBCTL |= FRSTE;                              // Function Reset Connection Enable
    tEndPoint0DescriptorBlock.bIEPBCNT = 0x00;    
    if(bStatusAction == STATUS_ACTION_DATA_OUT)
    {
        usbReceiveNextPacketOnOEP0();
        if(bStatusAction == STATUS_ACTION_NOTHING)
        {
#           ifdef _CDC_
                if(tSetupPacket.bRequest == USB_CDC_SET_LINE_CODING)
                {
                    bWakeUp = Handler_SetLineCoding();
                }
#          endif
#ifdef _HID_
				if (tSetupPacket.bRequest == USB_REQ_SET_REPORT) {
					bWakeUp = USBHID_handleSetReportDataAvailable(tSetupPacket.wIndex);
				}
#endif
      	}
    }
    else
    {
	    tEndPoint0DescriptorBlock.bOEPCNFG |= EPCNF_STALL; // no more data
    }
    return (bWakeUp);
}
コード例 #2
0
ファイル: UsbIsr.c プロジェクト: shangdawei/rfidusb
//----------------------------------------------------------------------------
VOID OEP0InterruptHandler(VOID)
{
    USBCTL |= FRSTE;                              // Function Reset Connection Enable
    tEndPoint0DescriptorBlock.bIEPBCNT = 0x00;    

    if(bStatusAction == STATUS_ACTION_DATA_OUT)
    {
        usbReceiveNextPacketOnOEP0();
        if(bStatusAction == STATUS_ACTION_NOTHING)
        {
            switch(tSetupPacket.bRequest)
            {
            #ifdef _CDC_
                case USB_CDC_SET_LINE_CODING:
                    Handler_SetLineCoding();
                    break;
            #endif // _CDC_
            default:;
            }
        }
    }
    else
    {
        tEndPoint0DescriptorBlock.bOEPCNFG |= EPCNF_STALL; // no more data
    }
}
コード例 #3
0
ファイル: UsbIsr.c プロジェクト: TECHNOTICSROBOTICS/mspdev
//----------------------------------------------------------------------------
VOID OEP0InterruptHandler(VOID)
{
    USBCTL |= FRSTE;                              // Function Reset Connection Enable
    tEndPoint0DescriptorBlock.bIEPBCNT = 0x00;    
    if(bStatusAction == STATUS_ACTION_DATA_OUT)
    {
        usbReceiveNextPacketOnOEP0();
        if(bStatusAction == STATUS_ACTION_NOTHING)
        {
#           ifdef _CDC_
                if(tSetupPacket.bRequest == USB_CDC_SET_LINE_CODING)
                {
                    switch(tSetupPacket.wIndex)
                    {
                    case 0:
                    case 1:
                        Handler_SetLineCoding0();
                        break;
                    case 2:
                    case 3:
                        Handler_SetLineCoding1();
                        break;
                    case 4:
                    case 5:
                        Handler_SetLineCoding2();
                        break;
                    }
                }
#          endif
      	}
    }
    else
    {
	    tEndPoint0DescriptorBlock.bOEPCNFG |= EPCNF_STALL; // no more data
    }
}