Esempio n. 1
0
void LPLD_USB_DeInit(void)
{ 
#if(USB_DEVICE_CLASS == USB_DEVICE_CLASS_CDC)
  USB_Class_CDC_DeInit(CONTROLLER_ID);                        //注销CDC类
#elif(USB_DEVICE_CLASS == USB_DEVICE_CLASS_HID)
  USB_Class_HID_DeInit(CONTROLLER_ID);                        //注销HID类
#endif
}
Esempio n. 2
0
/*
** ===================================================================
**     Method      :  CDC1_Deinit (component FSL_USB_CDC_Device)
**     Description :
**         Deinitializes the driver
**     Parameters  : None
**     Returns     :
**         ---             - Error code
** ===================================================================
*/
uint8_t CDC1_Deinit(void)
{
  uint_8 err;

  err = USB_Class_CDC_DeInit(CONTROLLER_ID);
  Rx1_Deinit();
  Tx1_Deinit();
  start_app = FALSE;
  start_transactions = FALSE;
  transactionOngoing = FALSE;
  if(err != USB_OK) {
    /* Error deinitializing USB-CDC Class */
    return ERR_FAILED;
  }
  return ERR_OK;
}
 /**************************************************************************//*!
 *
 * @name  USB_Composite_DeInit
 *
 * @brief   The funtion De-initializes the Device and Controller layer
 *
 * @param   controller_ID               : Controller ID
 * @param   composite_callback_ptr      : Pointer to app callback  
 *
 * @return status:
 *                        USB_OK        : When Successfull
 *                        Others        : When Error
 *
 ******************************************************************************
 *This function De-initializes the Composite layer
 *****************************************************************************/ 
uint_8 USB_Composite_DeInit(
    uint_8    controller_ID                           /* [IN] Controller ID */
)
{    
    uint_8 count,status = USB_OK;
    DEV_ARCHITECTURE_STRUCT_PTR dev_arc_ptr;
    CLASS_ARC_STRUCT_PTR dev_class_ptr;   
    
     /* Call common class deinit function */
    status = USB_Class_DeInit(controller_ID);
    
    if(status == USB_OK)
    /* Call device deinit function */
    	status = _usb_device_deinit();
    
    /* Get device architecture */
    dev_arc_ptr = (DEV_ARCHITECTURE_STRUCT *)USB_Desc_Get_Class_Architecture(controller_ID);
    for(count = 0; count < dev_arc_ptr->cl_count; count++)
    {
        /* Initializes sub_classes */
        dev_class_ptr = (CLASS_ARC_STRUCT_PTR)dev_arc_ptr->value[count];
        switch(dev_class_ptr->class_type)  
        {
#ifdef USE_HID_CLASS
            case HID_COMP_CC:
                status = USB_Class_HID_DeInit(controller_ID);
            break;
#endif
#ifdef USE_AUDIO_CLASS    
            case AUDIO_COMP_CC:
               status = USB_Class_Audio_DeInit(controller_ID);
            break;
#endif
#ifdef USE_VIDEO_CLASS     
            case VIDEO_COMP_CC:
                status = USB_Class_Video_DeInit(controller_ID);
            break;
#endif
#ifdef USE_CDC_CLASS    
            case CDC_COMP_CC:
                status = USB_Class_CDC_DeInit(controller_ID);
                break;
#endif
#ifdef USE_MSD_CLASS    
            case MSD_COMP_CC:
                status = USB_Class_MSC_DeInit(controller_ID);
                break;
#endif
#ifdef USE_PHDC_CLASS
            case PHDC_COMP_CC:
                status = USB_Class_PHDC_DeInit(controller_ID);
                break;
#endif
#ifdef USE_DFU_CLASS
            case DFU_COMP_CC:
                status = USB_Class_HID_DeInit(controller_ID);
                break;
        #endif
        }
    }
    return status;    
}