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.

TMS320F28069: How to polling NACK in I2CSTR?

Part Number: TMS320F28069

The device is working on slave mode for PMBUS.

And I always reset this bit before transmit each data.

But this bit always indicates "0" both "Acknowledgment" and "No-Acknowledgment".

This bit can indicates byte by bye or it just can be used for whole package?

My I2CMDR settings is 0x20.

Best Regards,

Johnson

  • Hi Johnson,

    The NACK bit should be set whenever your device is a receiver and sees a NACK at the end of a byte.

    The bit can be cleared by any of the following:

    • An acknowledge bit (ACK) has been sent by the receiver.

    • NACK is manually cleared. To clear this bit, write a 1 to it.

    • The CPU reads the interrupt source register (I2CISRC) and the register contains the code for a

    NACK interrupt. Emulator reads of the I2CISRC do not affect this bit.

    • The I2C module is reset.

    You'd poll the bit like so:

    if(I2caRegs.I2CSTR.bit.NACK == 1)
    {
        Do something;
    }

    Best,

    KEvin

  • Hi KEvin,

    I got it. Thank you.

    Best Regards,
    Johnson