AnsweredAssumed Answered

ADXL375 Can't Clear Interrupts

Question asked by Sean.Wentworth on Mar 18, 2015
Latest reply on Apr 3, 2015 by neilzhao

Hello,

 

I am running into a problem clearing the interrupts from the ADXL375.  I enabled the Activity Bit interrupt for the INT1 pin with the active high setting, and in Trigger Mode triggered an event, and captured the data.  Now I cannot get the interrupt to clear.  I have read the data from the FIFO register, and have attempted to read the INT_SOURCE (Register 0x30) in order to clear the interrupts.  However, when I read the INT_SOURCE register I read binary 1000. This would correspond to having the inactivity bit triggered, which was not enabled in the first place.  Furthermore, every time I read the register I receive 1000, which would mean even if that bit was triggered, reading the register is not clearing the interrupts.  This leads me to believe I am reading the register incorrectly.  Also, reading the INT1 pin with a multimeter returns >3 volts, so it is high (triggered by interrupt).  Can someone help me?

 

I will attach the code I am using to read the register below. I have the ADXL375 attached to a MSP430 using SPI. 

 

 

CHAR

     ADXL375_INT_SOURCE = 0x30,

 

char ADXL375::read_int()

   {

      char status;

 

      digitalWrite(_cs, LOW);

      //P7OUT &= ~_cs;

 

      SPI.transfer(ADXL375_INT_SOURCE); // SPI read, autoincrement

      status = SPI.transfer(0x00);

 

      digitalWrite(_cs, HIGH);

      //P7OUT |= _cs;

 

      return status;

   }

 

int_register = accl.read_int();

Serial.print(int_register, BIN);

 

In the serial window I recieve "1000" no matter how many times I read the register.

Outcomes