Other Parts Discussed in Thread: BQ76952, MSPM0L1306
Hi,
BACKGROUND:
I am currently developing a system using an MSPM0L1306 (MCU) as an I2C controller, and two BQ76952 (AFE)s as I2C targets. During the initialization phase, the I2C address of one of the AFEs will be changed so that the MCU can communicate separately with each AFE on the same I2C bus.
QUESTION:
I am attempting to implement logic to verify the responsiveness of the two AFEs by monitoring whether they are acknowledging (ACK) or not acknowledging (NACK) the MCU's target address transmission. This is for the MCU to adjust its behavior when one AFE fails (i.e., not responsive any more) for some reason. In this scenario, which of the following 'DL_I2C_IIDX' options would be suitable? (I had hoped to find a version specifically for detecting a target's NACK, such as 'DL_I2C_IIDX_CONTROLLER_NACK', but have been unsuccessful.) Alternatively, what would be the most elegant solution for detecting a NACK sent by an I2C target device using the DriverLib?
The following excerpt is from the 'I2C IRQHandler' I am currently developing. It involves interrupt-based I2C communication.
Thank you,