Showing results for 
Search instead for 
Did you mean: 

LPS22HH communication failed

Associate II

In the case of power on, sometimes, the controller failed commnunication with LPS22HH.

The controller side accesses LPS22HH in the following order of processing;

1 power on

2 wait INT_SOURCE (@24h) BOOT_ON = 0

3 Set the BOOT bit of the CTRL_REG2(@11h) register to 1

4 wait INT_SOURCE (@24h) BOOT_ON = 0

5 Set the SWRESET bit of the CTRL_REG2(@11h) register to 1

6 wait SWRESET bit of the CTRL_REG2(@11h) register returns to 0

7 write ONE_SHOT order CTRL_REG2(@11h) ONE_SHOT = 1

8 wait CTRL_REG2(@11h) ONE_SHOT = 0

9 wait STATUS(@27h) T_DA and P_DA = 1

10 read press and temp

When this process is followed, communication sometimes fails and sometimes succeeds.

Does anyone know how to solve this problem???

ST Employee


can you try with the procedure suggested on Github for LPS22HH --> lps22hh_read_data_polling.c, at least to check if there are no other device-related issues? Maybe the SWRESET is not always restoring the boot for some reason (do you apply a small delay after this command?).


Associate II

Hi Eleon

Thank you for your reply.

I'll try to check my code base on the code you taught me.

And one more question.

I read an5209 document , and this said " VDD must be lower than 0.2 V for at least 10 ms during power-off sequence for correct POR. 3.1"

If POR not correct, is there a possibility of simlar problems?