Skip to main content
Associate II
April 5, 2024
Question

I2C interface with adxl345 using stm32f446RE

  • April 5, 2024
  • 1 reply
  • 1333 views

Hello ST,

I am a beginner to I2C protocol could you please help me to go through I2C practical projects on STM32F446RE using  ADXL345 and also with basic projects to do 
please suggest or provide me example code to to do.

Thank you.

This topic has been closed for replies.

1 reply

Andrew Neil
Super User
April 5, 2024

I2C is a very long-established and widely-used bus - there are plenty of resources describing I2C; eg,

The official Specification & User Manual from NXP, the inventors of I2C:

https://www.nxp.com/docs/en/user-guide/UM10204.pdf

Others:

https://en.wikipedia.org/wiki/I%C2%B2C 

https://www.i2c-bus.org/

https://learn.sparkfun.com/tutorials/i2c/all

Within the STM32CubeIDE, you will find examples of using the I2C of STM32 processors

ST Training videos on I2C (actually for L4 rather than F4, but should give the idea):

STM32L4 training: 05.5 Communication peripherals - Inter-integrated circuit interface (I2C) theory:

https://www.youtube.com/watch?v=e4F_7WcYkdU&list=PLnMKNibPkDnEEvQWrDqVuu1w_iQ214GXi&index=31

STM32L4 training: 05.6 Communication peripherals - Hands-on I2C:

https://www.youtube.com/watch?v=_SuRDVcDaMo&list=PLnMKNibPkDnEEvQWrDqVuu1w_iQ214GXi&index=32

 

A good diagram here showing the effect of too-high and too-low pullup values:

https://electronics.stackexchange.com/a/473799

Note that microcontroller internal pullups (including STM32) are generally "too high".

 

 

For details of using the ADXL345, see the manufacturer's datasheet and other support materials:

https://www.analog.com/en/products/adxl345.html

 

#I2C #I2Cresources #I2Cbasics #I2Cfundamentals

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.