diff --git a/f4/usb/src/usb.c b/f4/usb/src/usb.c
index c9bec4f4e75b031efcff2de12eb64a0482220403..1821df26a6896333ca80f2f11ad747f85157dd6b 100644
--- a/f4/usb/src/usb.c
+++ b/f4/usb/src/usb.c
@@ -5,7 +5,7 @@
 #define TX_DATA_SIZE  1024
 
 // private variables
-extern PCD_HandleTypeDef PCDHandle;
+extern PCD_HandleTypeDef hpcd_USB_OTG_FS;
 USBD_HandleTypeDef USBHandle;
 TComm *usb_comm_dev;
 uint8_t usb_rx_buffer[RX_DATA_SIZE];
@@ -178,7 +178,7 @@ void OTG_FS_IRQHandler(void)
   /* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 0 */
 
   /* USER CODE END USB_LP_CAN1_RX0_IRQn 0 */
-  HAL_PCD_IRQHandler(&PCDHandle);
+  HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS);
   /* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 1 */
 
   /* USER CODE END USB_LP_CAN1_RX0_IRQn 1 */
@@ -215,12 +215,12 @@ void usb_init(TComm *comm_dev,USBD_DescriptorsTypeDef *pdesc,USBD_ClassTypeDef *
 
 void usb_disconnect(void)
 {
-  HAL_PCD_DevDisconnect(&PCDHandle);
+  HAL_PCD_DevDisconnect(&hpcd_USB_OTG_FS);
 }
 
 void usb_connect(void)
 {
-  HAL_PCD_DevConnect(&PCDHandle);
+  HAL_PCD_DevConnect(&hpcd_USB_OTG_FS);
 }
 
 /* IRQ functions */