\r
void USB_ShutDown(void)\r
{\r
- if (USB_IsConnected)\r
+ #if defined(USB_CAN_BE_DEVICE)\r
+ if (USB_DeviceState != DEVICE_STATE_Unattached)\r
+ EVENT_USB_Disconnect();\r
+ #endif\r
+ \r
+ #if defined(USB_CAN_BE_HOST)\r
+ if (USB_HostState != HOST_STATE_Unattached)\r
EVENT_USB_Disconnect();\r
+ #endif\r
\r
USB_Detach();\r
\r
USB_INT_DisableAllInterrupts();\r
USB_INT_ClearAllInterrupts();\r
\r
- USB_IsConnected = false;\r
USB_IsInitialized = false;\r
\r
#if defined(USB_CAN_BE_HOST)\r
#endif\r
\r
#if defined(USB_CAN_BE_DEVICE)\r
- USB_ConfigurationNumber = 0;\r
+ USB_DeviceState = DEVICE_STATE_Unattached;\r
+ USB_ConfigurationNumber = 0;\r
+ USB_RemoteWakeupEnabled = false;\r
+ USB_CurrentlySelfPowered = false;\r
#endif\r
\r
#if defined(CAN_BE_BOTH)\r
{\r
USB_INT_DisableAllInterrupts();\r
USB_INT_ClearAllInterrupts();\r
-\r
- USB_IsConnected = false;\r
-\r
+ \r
#if defined(USB_CAN_BE_HOST)\r
- USB_HostState = HOST_STATE_Unattached;\r
+ USB_HostState = HOST_STATE_Unattached;\r
#endif\r
-\r
+ \r
#if defined(USB_CAN_BE_DEVICE)\r
+ USB_DeviceState = DEVICE_STATE_Unattached;\r
USB_ConfigurationNumber = 0;\r
- USB_IsSuspended = false;\r
USB_RemoteWakeupEnabled = false;\r
USB_CurrentlySelfPowered = false;\r
#endif\r