Can UART data wake the pyboard from pyb.stop()?

The official pyboard running MicroPython.
This is the reference design and main target board for MicroPython.
You can buy one at the store.
Target audience: Users with a pyboard.
Post Reply
nickovs
Posts: 11
Joined: Sun Sep 11, 2016 8:11 pm

Can UART data wake the pyboard from pyb.stop()?

Post by nickovs » Sun Sep 11, 2016 9:02 pm

When the pyboard is put into low power mode using the pyb.stop() call, is the UART hardware still running? If so, is a UART interrupt sufficient to cause the pyb.stop() call to return?

I have a data collection application in which data will arrive at irregular intervals over a serial interface but it would be useful to have the board in a low power state when not processing the data. I know that the counters used for pyb.millis() and pyb.micros() get suspended when I call pyb.stop(). If the UARTs get shut down too then presumably I can use wfi() instead but it looks like this won't save as much power. Any (non-null) pointers would be helpful!

User avatar
dhylands
Posts: 3821
Joined: Mon Jan 06, 2014 6:08 pm
Location: Peachland, BC, Canada
Contact:

Re: Can UART data wake the pyboard from pyb.stop()?

Post by dhylands » Mon Sep 12, 2016 4:03 am

The datasheet says that any peripheral interrupt acknowledged by the NVIC will wake the MCU, so it sounds like it will work.

Post Reply