cancel
Showing results for 
Search instead for 
Did you mean: 

Set H3LIS331DL to generate continuously Pulse for DataReady Interrupt

PGoud
Associate III

Is it really possible to configure H3LIS331DL to fire an interrupt (a pulse) for each DataReady ?

I've never succeded in doing that, It seems to be always mandatory to read Acceleration to "release" the interrupt line, hence being able to have a new interrupt.

Please any idea welcome, as geting one pulse for each new data independently of the fact of reading the data would be necessary in case some interrupts ae lost on the host device.

Please Help

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @PGoud​ ,

I've understood better your question only now...

I'm afraid it is not possible to run the DRDY signal as a "square wave" at ODR frequency on H3LIS331DL, you also need to read the dataout in order to refresh the DRDY.

It might be possible in the products that have a dedicated INT for the DRDY signal, such as the LIS2DW12, but I'm not sure...

-Eleon

View solution in original post

4 REPLIES 4
Eleon BORLINI
ST Employee

Hi @PGoud​ ,

is it only the DRDY interrupt that is not working in your application, or also other interrupts (the ones generated from mechanical events)?

I suppose you already tried configuring the CTRL_REG3 [interrupt CTRL register] (22h) for the Data Ready routed on INT1(2) pad (datasheet, p.27):

0693W000008z5vaQAA.pngYou could try to enable the LIR1 bit and see if the interrupt is working at leas in latched mode.

You can also try to set 01h in the INT1_DURATION (33h) register.

-Eleon

PGoud
Associate III

Hello Eleon,

Basically, DATAready interrupt works well for me, no problem about configuring it, it's ok.

My exact problem is that do not success in making it working as a "Free" "Pulses interrupt".

I mean I would like to see the INT1 line making "ON/OFF/ON/OFF/ON... without needing to "read acceleration" after each edge. I already tried the "Pulse" configuration" and even set the INT1 duration to 1 or 0 but It seems to be always mandatory to "Read accelerations" to "release" the current state of INT1 Line ...

So, can you tell me if there is a way to let DataReady interrupts run in kind of "free run" (one pulse after each sample) without any more action on the H3LIS331DL after it's configuration ? ... Maybe it's not possible ...

BR

Hi @PGoud​ ,

I've understood better your question only now...

I'm afraid it is not possible to run the DRDY signal as a "square wave" at ODR frequency on H3LIS331DL, you also need to read the dataout in order to refresh the DRDY.

It might be possible in the products that have a dedicated INT for the DRDY signal, such as the LIS2DW12, but I'm not sure...

-Eleon

PGoud
Associate III

Ok thanks.