2019-03-15 02:36 AM
I run my CPU mostly (when possible) in stop2 mode. I want EXTI interrupt from few pins to wake it up.
What i found is that sometimes it doesn't.
First i had a problem with accelerometer - one missed fifo interrupt stopped things.
Now i make external generator connected to one pin that repeatedly generates interrupt every 20ms and on MCU side a
just display a counter over USART port.
The results - counting goes fine for 10-30 seconds, then suddenly many interrupts are ignored for half a second or so, then again interrupts are received properly.
Stop mode is entered by WFI instruction, before it PWR_CR1 LPMS bits are set to 2, DEEPSLEEP bit in CORTEX_SCR set to 1.
When using sleep mode instead of stop mode (DEEPSLEEP bit zero) things changes. Interrupts are missed too but for much storter time.
When not using WFI instruction at all, effect is the same as using sleep mode.
No idea what to check. please help.
Whatever i do EXTI sometimes misses interrupts