Tool/software: Code Composer Studio
I'm using CSL I2C write and read functions, according to the "CSL_I2C_PollExample". C5517 device.
I notice that when a NACK occur the SCL is held low. I'm testing it with no slave devices on the I2C bus, DSP as I2C Master.
According to the manual user should:
6.2.9.2 User Response to a NACK
The user must perform the following steps when responding to a NACK.
1. Set ICMDR.STP, which sends a STOP bit and releases SCL.
2. Set ICSTR.NACK=1 to clear the flag.
3. Wait for ICMDR.MST to self-clear before initiating further I2C transactions.
When the MST bit clears, the controller has finished sending the STOP bit. Verify the MST bit clears by
checking if ICMDR.MST is equal to 0 at the start of the function. This check allows the processor time
to perform other tasks but not start a new transaction until ICMDR.MST has cleared.
Does not CSL function handle the NACK event? Do I have to add code handling the NACK event as specified on the manual?
Thank you
Stefano