cancel
Showing results for 
Search instead for 
Did you mean: 

HAL_I2C_Master_Sequential_Transmit_IT problem

Wojciech Jasiewicz
Associate II
Posted on November 07, 2017 at 15:49

Hello.

I have problem with i2c device which requires time courses as showed below.

This picture shows writing data to i2c device, in this case ltc29 In first approach I try to do this in 2 steps, send address and register in HAL_I2C_Master_Transmit and next by HAL_I2C_Master_Receive get 2 bytes of desired data. I notice that problem is depends on stops bits after each of steps. The ltc2943 device forgets register address transmitted in first step and in second step it return data from random place in memory. I try to use HAL_I2C_Master_Sequential_Transmit_IT but it doesn't return correct data too. I need to know if in HAL software , in i2c section is a function which after sending register data, doesn't set stop bit.

Thank you for our answer.

2 REPLIES 2
Imen.D
ST Employee
Posted on March 27, 2018 at 17:26

Hello

Jasiewicz.Wojciech

,

Have you sill encountered this problem

related to

HAL_I2C_Master_Sequential_Transmit_IT ?

Could you please precise which firmware version are you using ?

I recommend you to use the last version of firmware package as there is a fix related to

HAL_I2C_Master_Sequential_Transmit_IT function.

Best Regards

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Doug Kehn
Senior
Posted on March 28, 2018 at 14:24

See if your HAL version has HAL_I2C_Mem_Read() and HAL_I2C_Mem_Write(). HAL_I2C_Mem_Read() may be what you are looking for.