hathach před 12 roky
rodič
revize
5d5aa9b213
1 změnil soubory, kde provedl 6 přidání a 3 odebrání
  1. 6 3
      tinyusb/device/dcd_lpc175x_6x.c

+ 6 - 3
tinyusb/device/dcd_lpc175x_6x.c

@@ -174,7 +174,8 @@ static void endpoint_non_control_isr(uint32_t eot_int)
 
 static void endpoint_control_isr(void)
 {
-  uint32_t const endpoint_int_status = LPC_USB->USBEpIntSt & LPC_USB->USBEpIntEn;
+  uint32_t const interrupt_enable = LPC_USB->USBEpIntEn;
+  uint32_t const endpoint_int_status = LPC_USB->USBEpIntSt & interrupt_enable;
 //  LPC_USB->USBEpIntClr = endpoint_int_status; // acknowledge interrupt TODO cannot immediately acknowledge setup packet
 
   //------------- Setup Recieved-------------//
@@ -216,7 +217,8 @@ static void endpoint_control_isr(void)
 void dcd_isr(uint8_t coreid)
 {
   (void) coreid;
-  uint32_t const device_int_status = LPC_USB->USBDevIntSt & LPC_USB->USBDevIntEn;
+  uint32_t const device_int_enable = LPC_USB->USBDevIntEn;
+  uint32_t const device_int_status = LPC_USB->USBDevIntSt & device_int_enable;
   LPC_USB->USBDevIntClr = device_int_status;// Acknowledge handled interrupt
 
   //------------- usb bus event -------------//
@@ -254,7 +256,8 @@ void dcd_isr(uint8_t coreid)
   }
 
   //------------- Non-Control Endpoint (DMA Mode) -------------//
-  uint32_t dma_int_status = LPC_USB->USBDMAIntSt & LPC_USB->USBDMAIntEn;
+  uint32_t const dma_int_enable = LPC_USB->USBDMAIntEn;
+  uint32_t const dma_int_status = LPC_USB->USBDMAIntSt & dma_int_enable;
 
   if (dma_int_status & DMA_INT_END_OF_XFER_MASK)
   {