Skip to main content
Wojciech Jasiewicz
Associate
November 7, 2017
Question

HAL_I2C_Master_Sequential_Transmit_IT problem

  • November 7, 2017
  • 2 replies
  • 1015 views
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.

    This topic has been closed for replies.

    2 replies

    Technical Moderator
    March 27, 2018
    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

    In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
    Doug Kehn
    Associate II
    March 28, 2018
    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.