Quote Originally Posted by Bruce View Post
Here's an example of wake up from sleep on change without global interrupts enabled - or an interrupt handler......
And if you do use interrupts, having something similar to CheckState in the beginning of your interrupt handler helps avoid another interrupt when a switch is released.

I still recommend you learn to use DT_INTS though. It's pretty cool stuff...
Bruce, an application I am working on needs to awaken from sleep mode when a USB cable is connected. I was using the Darrel's INT_Handler/USB_Handler from his DT_INTS-18 for servicing the USB interrupt to try to do this. However, DT told me in one post that you can't use his USB_Handler to awaken from sleep mode and I should sense the connection of the USB cable with an RB change interrupt and then in the ISR for the RB change do an @RESET to somehow start the USB service. I think I know how to use the RBC_INT from the DT_INS-18 to sense the USB connection but I don't understand how to setup my code to then start the USB service on the sense of the USB connection. If I place the @RESET statement in the RBC_INT handler, what do I have to have in my Main Loop to get the USB service going (application must then dump EEPROM data that has previously been logged over the USB interface to PC which I already have working) and then have it return to sleep mode after the USB is disconnected??