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.

i2c FIFO problem

Other Parts Discussed in Thread: TMS320F2808

Hello,

 

I'm using FIFO of I2C module of TMS320F2808. The problem is that I can't clear TX fifo interrupt flag by writing 1 into TXFFINTCLR.

Here is the part of i2c init code :

   // init FIFOs
    I2caRegs.I2CFFTX.bit.I2CFFEN = 1; //Enable FIFO
    I2caRegs.I2CFFTX.bit.TXFFRST = 1;
    I2caRegs.I2CFFTX.bit.TXFFIENA = 1;
    I2caRegs.I2CFFTX.bit.TXFFIL = 0;
    I2caRegs.I2CFFRX.bit.RXFFRST = 1;
    I2caRegs.I2CFFRX.bit.RXFFIENA = 1;
    I2caRegs.I2CFFRX.bit.RXFFIL = 0;
   
    I2caRegs.I2CMDR.bit.IRS = 1;    // Take I2C out of reset
   
    I2caRegs.I2CFFTX.bit.TXFFINTCLR = 1; //TODO: actually this doesn't clear INT flag, 
    I2caRegs.I2CFFRX.bit.RXFFINTCLR = 1;

 I see in CCS4 Registers Window that TXFFINT flag remains 1 in I2CFFTX register.