Hello. using MMA8652FC and nrf52832, I wanna FIFO,Trans,Auto Sleep/Wake Function.
and i almost done. but i met unexpected Interrupt.
First INT1 is Trans INT and Auto Sleep/Wake , INT2 is only FIFO INT.
logic is Start -> Init Trans, Auto Sleep/Wake, FIFO ,HPF-> after 2s , sleep mode.
if Trans INT is happed, Wake and after 2s , go to sleep mode.
and if i push button on nrf52832, set standby mode and HPF is disable, then get data from FIFO.
after that HPF is enable and then go to sleep mode.
Auto sleep and Trans func is fine. it works very well.
but if i push button, read from FIFO is fine. but before sleep mode. INT 1 is happen.
so in my opinion, if i push button, happend only Sleep INT one time. but now INT1 is happend two time.
and I debug INT_SOURCE register. it is 0. nothing happen interrupt.
if I disable Auto Sleep/Wake. unexpected interrupt is not happed.
Does i something miss sleep <-> wake trasition or Standby <-> Active mode about interrupt?
Help me what is the problem.
I have got an issue like this - zero content of the INT_SOURCE during interrupt by INT1. I found out that it is because the accelerometer went to sleep before INT_SOURCE checking. I disabled Auto-sleep and now I don't get empty interrupts.
It is very hard to say what the root cause of this issue might be.
Please double check the INT_SOURCE (0x0C) register when an interrupt occurs as its bits indicate which of the embedded functions has asserted an interrupt.
Do you have a logic analyzer or an oscilloscope to see the activity on the INT1 pin and the bus?
Could you please try to explain in more detail when exactly an unexpected interrupt occurs? Is there any time dependency?