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 }
/**************************************************************************//*! * * @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; }