diff --git a/examples/platforms/nrf52840/usb-cdc-uart.c b/examples/platforms/nrf52840/usb-cdc-uart.c index 7e16ef83e..8c325b1ed 100644 --- a/examples/platforms/nrf52840/usb-cdc-uart.c +++ b/examples/platforms/nrf52840/usb-cdc-uart.c @@ -44,6 +44,7 @@ #include #include +#include #include #include #include @@ -125,6 +126,14 @@ static void cdcAcmUserEventHandler(app_usbd_class_inst_t const *aCdcAcmInstance, } } +static void usbdIsrHandler(app_usbd_internal_evt_t const *const aEvent, bool aQueued) +{ + (void)aEvent; + (void)aQueued; + + otSysEventSignalPending(); +} + static void usbdUserEventHandler(app_usbd_event_type_t aEvent) { switch (aEvent) @@ -253,7 +262,10 @@ static void processTransmit(void) void nrf5UartInit(void) { - static const app_usbd_config_t usbdConfig = {.ev_state_proc = usbdUserEventHandler}; + static const app_usbd_config_t usbdConfig = { + .ev_state_proc = usbdUserEventHandler, + .ev_isr_handler = usbdIsrHandler, + }; memset((void *)&sUsbState, 0, sizeof(sUsbState));