void main(void) #endif { BOARD_InitPins(); BOARD_BootClockHSRUN(); BOARD_InitDebugConsole(); USB_DeviceApplicationInit(); while (1U) { #if USB_DEVICE_CONFIG_USE_TASK #if defined(USB_DEVICE_CONFIG_EHCI) && (USB_DEVICE_CONFIG_EHCI > 0U) USB_DeviceEhciTaskFunction(g_UsbDeviceComposite.deviceHandle); #endif #if defined(USB_DEVICE_CONFIG_KHCI) && (USB_DEVICE_CONFIG_KHCI > 0U) USB_DeviceKhciTaskFunction(g_UsbDeviceComposite.deviceHandle); #endif #endif } }
void main(void) #endif { BOARD_InitPins(); BOARD_BootClockRUN(); BOARD_InitDebugConsole(); APPInit(); while (1) { APP_task(); #if USB_DEVICE_CONFIG_USE_TASK #if defined(USB_DEVICE_CONFIG_EHCI) && (USB_DEVICE_CONFIG_EHCI > 0U) USB_DeviceEhciTaskFunction(s_cdcVcom.deviceHandle); #endif #if defined(USB_DEVICE_CONFIG_KHCI) && (USB_DEVICE_CONFIG_KHCI > 0U) USB_DeviceKhciTaskFunction(s_cdcVcom.deviceHandle); #endif #endif } }
/*! * @brief Application task function. * * This function runs the task for application. * * @return None. */ void APP_task(void) { usb_status_t error = kStatus_USB_Error; if ((1 == s_cdcVcom.attach) && (1 == s_cdcVcom.startTransactions)) { /* User Code */ if ((0 != s_recvSize) && (0xFFFFFFFFU != s_recvSize)) { int32_t i; /* Copy Buffer to Send Buff */ for (i = 0; i < s_recvSize; i++) { s_currSendBuf[s_sendSize++] = s_currRecvBuf[i]; } s_recvSize = 0; } if (s_sendSize) { uint32_t size = s_sendSize; s_sendSize = 0; error = USB_DeviceSendRequest(s_cdcVcom.deviceHandle, USB_CDC_VCOM_BULK_IN_ENDPOINT, s_currSendBuf, size); if (error != kStatus_USB_Success) { /* Failure to send Data Handling code here */ } } #if defined(FSL_FEATURE_USB_KHCI_KEEP_ALIVE_ENABLED) && (FSL_FEATURE_USB_KHCI_KEEP_ALIVE_ENABLED > 0U) && \ defined(USB_DEVICE_CONFIG_KEEP_ALIVE_MODE) && (USB_DEVICE_CONFIG_KEEP_ALIVE_MODE > 0U) && \ defined(FSL_FEATURE_USB_KHCI_USB_RAM) && (FSL_FEATURE_USB_KHCI_USB_RAM > 0U) if ((s_waitForDataReceive)) { if (s_comOpen == 1) { /* Wait for all the packets been sent during opening the com port. Otherwise these packets may * wake up the system. */ usb_echo("Waiting to enter lowpower ...\r\n"); for (uint32_t i = 0U; i < 16000000U; ++i) { __ASM("NOP"); /* delay */ } s_comOpen = 0; } usb_echo("Enter lowpower\r\n"); USB0->INTEN &= ~USB_INTEN_TOKDNEEN_MASK; SMC_SetPowerModeVlps(SMC); s_waitForDataReceive = 0; USB0->INTEN |= USB_INTEN_TOKDNEEN_MASK; usb_echo("Exit lowpower\r\n"); } #endif } #if USB_DEVICE_CONFIG_USE_TASK USB_DeviceKhciTaskFunction(s_cdcVcom.deviceHandle); #endif }