Hi,
I'm trying to make the MKE15 enter STOP mode. I found this code on the forum
void stop (void) { /* Set the SLEEPDEEP bit to enable deep sleep mode (STOP) */ SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; /* WFI instruction will start entry into STOP mode */ #ifndef KEIL // If not using KEIL's uVision use the standard assembly command asm("WFI"); #else // If using KEIL's uVision, use the CMSIS intrinsic __wfi(); #endif }
Is it enough?
How do I have to set registers in order that the micro wake up from stop mode if I have an active edge on the UART?
Hi,
We have the example about power manage in directory '2.9.0_FRDM-KE15Z\boards\frdmke15z\demo_apps\power_mode_switch'.
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 days after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi
STOP mode is controlled by the Cortex core so doesn't need any more registers configured (the various low leakage modes require additional setup).
STOP mode will exit whenever there is a pending interrupt so any peripheral (whose clock is not stopped in STOP mode) configured with an interrupt is adequate.
The asynchronous UART rx edge wake up is not needed in STOP mode - it is only needed in VLPS.
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements
For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: https://www.utasker.com/kinetis/FRDM-KE15Z.html