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.