2017-11-07 06:49 AM
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.
2018-03-27 08:26 AM
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
2018-03-28 05:24 AM
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.