void CmtUsbDev::USB_Reset() { ISTR = 0; /* Clear Interrupt Status */ CNTR = CNTR_CTRM | CNTR_RESETM | (USB_SUSPEND_EVENT ? CNTR_SUSPM : 0) | (USB_WAKEUP_EVENT ? CNTR_WKUPM : 0) | (USB_ERROR_EVENT ? CNTR_ERRM : 0) | (USB_ERROR_EVENT ? CNTR_PMAOVRM : 0) | (USB_SOF_EVENT ? CNTR_SOFM : 0) | (USB_SOF_EVENT ? CNTR_ESOFM : 0); FreeBufAddr = EP_BUF_ADDR; BTABLE = 0x00; /* set BTABLE Address */ /* Setup Control Endpoint 0 */ pBUF_DSCR->ADDR_TX = FreeBufAddr; FreeBufAddr += USB_MAX_PACKET0; pBUF_DSCR->ADDR_RX = FreeBufAddr; FreeBufAddr += USB_MAX_PACKET0; if (USB_MAX_PACKET0 > 62) { pBUF_DSCR->COUNT_RX = ((USB_MAX_PACKET0 << 5) - 1) | 0x8000; } else { pBUF_DSCR->COUNT_RX = USB_MAX_PACKET0 << 9; } EPxREG(0) = EP_CONTROL | EP_RX_VALID; DADDR = DADDR_EF | 0; /* Enable USB Default Address */ USB_ResetCore(); }
void USB_Suspend_Event (void) { //WDT_UpdateTimeOut(1000); //will reset after 1ms //while(1); USB_ResetCore(); USB_Connected = 0; }
void USB_Reset_Event (void) { USB_ResetCore(); USB_Connected = 1; }
void USB_Reset_Event (void) { USB_ResetCore(); }
void USB_Reset_Event (void) { USB_ResetCore(); LED_Off (LED_RD | LED_WR | LED_CFG | LED_SUSP); }
void USB_Reset_Event (void) { USB_ResetCore(); IOCLR1 = LED_CFG; /* Turn Off Cfg LED */ }