Skip to main content
Visitor II
December 20, 2024
Question

IMU lsm6dsv16x interrupts do not fire at all

  • December 20, 2024
  • 1 reply
  • 817 views

Hey Everyone, 

 

I bought this sensor
https://www.sparkfun.com/products/21325 and it is default to work as i2c. Which I do. I can read from this imu using regular polling, but I would like to use interrupts. But the issue is, interrupts to do not fire at all, I am not sure why. 

I am following the stm32 examples on github
https://github.com/STMicroelectronics/STMems_Standard_C_drivers/tree/master/lsm6dsv16x_STdC/examples

and I still have issues getting this sensor to work as an interrupt. Am I missing something? Do I need a pull down or pull up resistor on the interrupt pin? 

I worked with interrupts, theyre not difficult, but not sure why this specific sensor I cannot get to work.


for example, what i am experiencing right now whether I go with fifo or data ready signal, the int pin is always high. It does not go low. I did put a pull down to see if I can bring it down, but even with a 10k resistor, the int2 in this example, is always high. I also checked status register and I do have 



    This topic has been closed for replies.

    1 reply

    ACand.3Author
    Visitor II
    December 21, 2024

    How do I closed this? 

    I figured it out. I had to flush/read the interrupt flag right after setting it up. Im not sure if that is the right way? 


    right after the timestamp I added these lines

     lsm6dsv16x_data_ready_t drdy;
     lsm6dsv16x_flag_data_ready_get(&xyAccel, &drdy);
     if (drdy.drdy_xl) {
     int16_t dummy[3];
     lsm6dsv16x_acceleration_raw_get(&xyAccel, dummy);
     /* Clear existing FIFO data */

    and my interrupts started to work. any ideas why this worked?