Question
STM32F4 I2C BTF bit is not set after DMA TX complete
Posted on December 10, 2012 at 18:29
Hi all,
I noticed that there is an high traffic in I2C2_EV_IRQHandler() with status 0x70080 (EV8 =I2C_EVENT_MASTER_BYTE_TRANSMITTING) after all the bytes was transmitted with success by DMA (but it's the same problem without DMA transfer).I think the reason is that the TXE is still set, and the BTF is not (hardware will set it after several 0x70080 interrupts).So, is there a way to force BTF to 1 after DMA IT TC ? Is it a DMA control register parameter to set ?Even after that (BTF is set now), I noticed several interrupts with same status (0x70084 = EV8_2 = I2C_EVENT_MASTER_BYTE_TRANSMITTED), all of this repeated interrupts are useless for me.Of course, it's not a problem for a simple TX write operation, because I can disable interrupts after sending the stop condition, but when I want to restart for a RX read sequence, it's alot of interrupts that are fired for nothing.I think there may be a way to fix it ? don't it ? #i2c-stm32f4-dma