@@ -297,7 +297,7 @@ bool dcd_init(uint8_t rhport, const tusb_rhport_init_t* rh_init) {
|
||||
|
||||
dcd_reg->EPLISTSTART = (uint32_t) _dcd.ep;
|
||||
dcd_reg->DATABUFSTART = tu_align((uint32_t) &_dcd, TU_BIT(22)); // 22-bit alignment
|
||||
dcd_reg->INTSTAT |= dcd_reg->INTSTAT; // clear all pending interrupt
|
||||
dcd_reg->INTSTAT = dcd_reg->INTSTAT; // clear all pending interrupt
|
||||
dcd_reg->INTEN = INT_DEVICE_STATUS_MASK;
|
||||
dcd_reg->DEVCMDSTAT |= DEVCMDSTAT_DEVICE_ENABLE_MASK | DEVCMDSTAT_DEVICE_CONNECT_MASK |
|
||||
DEVCMDSTAT_RESET_CHANGE_MASK | DEVCMDSTAT_CONNECT_CHANGE_MASK | DEVCMDSTAT_SUSPEND_CHANGE_MASK;
|
||||
@@ -563,7 +563,8 @@ void dcd_int_handler(uint8_t rhport)
|
||||
|
||||
uint32_t const cmd_stat = dcd_reg->DEVCMDSTAT;
|
||||
|
||||
uint32_t int_status = dcd_reg->INTSTAT & dcd_reg->INTEN;
|
||||
uint32_t int_status = dcd_reg->INTSTAT;
|
||||
int_status &= dcd_reg->INTEN;
|
||||
dcd_reg->INTSTAT = int_status; // Acknowledge handled interrupt
|
||||
|
||||
if (int_status == 0) return;
|
||||
|
Reference in New Issue
Block a user