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.

TMS320F280025: Clarify I2C_setExtendedMode()

Part Number: TMS320F280025

Dear Champs,

I am asking this for our customer.

Because I2CEMDR.BC = 1 by default, we want to clear it, that is,  I2CEMDR.BC = 0.

Can we use I2C_setExtendedMode()?

If yes, how do we use I2C_setExtendedMode() to clear the bit BC?

If not, how do we use driverlib to clear the bit BC?

Wayne Huang

  • Wayne,

    Yes, I2C_setExtendedMode function can be used to clear / set BC and FCM mode.

    To clear BC and set FCM mode:

    I2C_setExtendedMode(I2CB_BASE, I2C_EADDR_MODE_FWD);

    To clear BC and FCM mode:

    I2C_setExtendedMode(I2CB_BASE, 0);

    Regards,

    Manoj

  • Dear Manoj,

    BC and FCM are independent of each other, right?

    That is, we can clear and set BC irrespective of FCM and vice versa, is it right?

    So,

    1) BC=1, FCM=0, is by default.

    2) BC=0, FCM=1

    I2C_setExtendedMode(I2CB_BASE, I2C_EADDR_MODE_FWD);

    3) BC=0, FCM=0

    I2C_setExtendedMode(I2CB_BASE, 0);

    4) BC=1, FCM=1

    How do we set this?

    Wayne Huang

  • Wayne,

    BC and FCM are independent of each other, right?

    I would like to say "YES". But let me double check with design team on this one.

    4) BC=1, FCM=1

    How do we set this?

    I2C_setExtendedMode(I2CB_BASE, I2C_EADDR_MODE_BC | I2C_EADDR_MODE_FWD);

    Regards,

    Manoj