Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

USB MSC example in interrupt mode

I'm experimenting with the USB MSC example (SDK 15.3) on my nRF52840 DK. It seems to work well in the polling mode as delivered. However, when I try to run in interrupt mode it no longer functions properly. The first time I connect the USB cable, Windows 10 recognizes the 3 drives as expected. However, after disconnecting the USB cable, all subsequent attempts to reconnect it fail to bring up the drives. Windows doesn't even see the USB device. During this process the board is constantly powered through the debug USB port. The only way to get the MSC drives working again is to restart the micro.

I assumed the only steps needed to get this working would be to comment would be the ones suggested in this post:

https://devzone.nordicsemi.com/f/nordic-q-a/34933/usb-cdc-acm-example-is-not-working-in-interrupt-mode

All you should have to do to make event handling interrupt driven in SDK v15 is to set APP_USBD_CONFIG_EVENT_QUEUE_ENABLE to 0 in sdk_config.h, and comment out the call to app_usbd_event_queue_process() in main.c

Any assistance getting this resolved would be greatly appreciated!

Related