Tool/software:
Hello,
I have an MSPM0 MCU that enters sleep mode after a button has been pressed, and a timeout has completed. The MCU enters STOP0 in the code below:
while(!jack_event && !USB_chg_en && OK_sleep_button) __WFI();
When the device is powered on, the MCU enters this sleep loop after initializing (verified using debugger). When I press a button, the MCU is awoken via a GPIO interrupt, the MCU waits for a timer to complete, then re-enters this sleep loop. However, this second time (and as many times as I press the button) the MCU draws 1 extra mA of power than the first time the sleep state is entered. Any idea why?
Secondly, this MCU seems to draw more quiescent sleep power in general than I expected. I see ~700uA drawn when in sleep (then closer to 2mA after the button press), when I would expect under 200uA based on peripherals and STOP0. Do I have to manually disable peripherals like the ADC, timers, etc to further reduce quiescent draw, or should __WFI() be enough?
Thanks
Jesse