This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSPM0L1306: I2C communication stuck when MSPM0L1306 with BQ76905 using Example code

Part Number: MSPM0L1306
Other Parts Discussed in Thread: BQ76905,

Tool/software:

Please find the below link to get trailing communication about the same.

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1509417/mspm0l1306-i2c-communication-stuck-when-mspm0l1306-with-bq76905-using-example-code

I have custom board using MSPM0L1306 with BQ76905 over I2C protocol and i am able to flash example code of it over I2C but that example stuck at I2C_Read Function at 

/* Wait until controller send all bytes */
while ((gI2cControllerStatus != I2C_STATUS_TX_COMPLETE) &&
(gI2cControllerStatus != I2C_STATUS_ERROR)) {
__WFE();
}

when 

/* I2C Write Example */

DirectCommands(AlarmEnable, 0x00, R); // Read AlarmEnable Configuration

Please tell me why this is happening.

  • Hi Nitin,

    Where is the stuck ACK? The ACK after the address or after the data?

    • If it is after address, then please check the correct address.
    • If it is after data, is it the first byte? 

    And could you observe the SCL keeping low?

    If you could share the logic analyzer screenshot then it would be better.