Using a MMA8451 FIFO Interrupt

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using a MMA8451 FIFO Interrupt

631 Views
johncampbell
Contributor II

I am using the 8451 in the following configuration.

- ODR 800 Hz 4G scale

- I2C at 400kHz rate

- Sleep modes disabled. always in active mode

-FIFO in Circular Buffer mode.

-The only interrupt configured is "FIFO full" vectored to the Int1 pin. That is No watermarks or pulse/landscape/freefall detection enabled.

- On the interrupt I flush the FIFO 14 bit data...192 bytes.

- For speed of operation and hence current consumption I do not read either:

   (a)The status register at 0x00. as I can guarantee I will service the interrupt and read out some data before the next sample is done 1.25mS later.

   (b) The Interrupt source register at 0x0C as I only have one interrupt source.

This appears to works OK.

The interrupt on INT1 pin goes high approximately half way through the 5.2mS FIFO flush

However it is not clear from the datasheet that for correct operation you must  read the interrupt source register to clear it.

Question: Must I clear the interrupt source register by reading it for correct operation

regards John Campbell

0 Kudos
2 Replies

404 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi John,

Yes, there is no need to read the INT_SOURCE register (0x0C), the SRC_FIFO bit is cleared and consequently the INT1 pin deasserted by reading all the X, Y, Z output data registers (0x01 – 0x06).

Best regards,

Tomas

0 Kudos

404 Views
johncampbell
Contributor II

Tomas,

Thanks very much for your prompt response to this and my other question.

This is a relief as I release my software on Wednesday for a major production run for an automotive client.

Best regards and thanks again

Johnc

0 Kudos