Posted on May 02, 2012 at 14:05try using direct mode instead of the DMA FIFO and enable DMA TC interrupt so any received character is drained right away to the memory buffer and trigger the interrupt once the third char is transferred
Posted on April 21, 2012 at 13:51I use the AF bit in SR1 to detect non acknowledgement of the address //wait for ADDR set condition and clear ADDR bit or AF failure do { //check status register sr1 = I2C2->SR1; } while(((sr1 & I2C_SR1_ADDR) == 0) & ...