cancel
Showing results for 
Search instead for 
Did you mean: 

Asm330Lhh DEVICE_CONF

wz2
Associate
Hello, I have encountered some issues while developing with the  ASM330LHH.
 
During the initialization sequence of the ASM330LHH interface, I first read the WHO_AM_I  register. After confirming that the value is correct, I proceed to access other registers. In my tests, the WHO_AM_I value read back was correct.
 
After checking the datasheet, it mentions that DEVICE_CONF set 1 to enable configuration. Now, after reading WHO_AM_I and before accessing other registers, I set DEVICE_CONF to 1. When I test again, the value read back from WHO_AM_I becomes incorrect.
 
Could you explain why this happens?
 
I am using SPI for communication in both cases, and the SPI configuration has not be changed at all — I only added the DEVICE_CONF operation.
2 REPLIES 2
MHoll.2
Senior III

I don't use SPI, bit for SPI it seems that You have to set I2C_disable = 1, before setting DEVICE_CONF.

 

Untitled.png

Federica Bossi
ST Employee

Hi @wz2 ,

I suggest you follow these steps:

  1. After reset or power‑up, read WHO_AM_I with DEVICE_CONF = 0 to check device identity.
  2. Set DEVICE_CONF = 1.
  3. Configure all required registers (ODR, FS, filters, FSM/MLC, etc.).
  4. Clear DEVICE_CONF back to 0 to exit configuration mode and start normal operation.
  5. From this point on, do not use DEVICE_CONF = 1 unless you need to reconfigure the device.
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.