Hi All
I would like to extend this discussion since there are various requirements to exit from a (very) low power mode due to UART reception. The basic method of exit has been reported (using the edge interrupt on the RxD input in the UART concerned) but this seems only a part of the overall 'problem'.
1. When in the STOP mode (basic of various very low power modes) the UART is essentially frozen (clock disabled) and so if the UART is in the process of sending data (could also be using using DMA to send data that could require a certain time to complete) entering the low power mode would cause data transmission corruption
2. If the edge interrupt is generally enabled there will be a large number of interrupts to be handled (at up to 5x the speed of UART reception itself) so it seems to make sense to actually enable it "only" when needed to wake up from.
3. When enabling the edge interrupt and moving to the low power state a reception character that is "already" in progress could be corrupted. Eg. the start bit has just been detected, or maybe one or two reception bits are already in the input shift register.
These thoughts mean that the actual exit from low power mode is not necessarily the critical part but far more how to move to the low power state, ensuring that no UART transmission is still in progress and that there is no risk of reception loss when it is performed when reception activity may just be starting? Do these demos handle this or are they just showing that the low power mode exit works? Is there a complete analysis of the requirements and solution, or has anyone implemenented an application that is in the low power mode for as much of the time as possible although still handling all UART activity?
Regards
Mark
EDIT: Below is the sequence performed to enter the STOP mode. I am wondering whether some of the handshaking on the way delays entry to the mode if a module (like the UART) is presently "in-use/busy"? This would be very clever and allow the mode to be entered without risk. Tests will tell...

EDIT 2: OK. That was disproved in a few minutes - setting the stop mode while a UART byte is being transmitted freezes it in mid-flight... shame, back to the SW drawing board...;-)