AnsweredAssumed Answered

ADXL375 Can't Clear Interrupts

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



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. 




     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.