I2C Transmit Error

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
Hi,

I'm using Relax Kit and Dave3.1.10. I've tried to connect a DOGM204-Display via I2C to P5.0(SDA) and P5.2(SCL).
Everything works fine, but after some time the XMC stops sending data. By Debugging I found out that the TXFIFO is full:


if(USIC_IsTxFIFOfull(I2CRegs))
{
Result = (bool)FALSE;
}


But up to this Point all data has been sent correctly. So I've add some lines for flushing TXFIFO and Clearing flags.

Now it is possible to reach the lines


I2CRegs->IN[0] = \
(((uint32_t)Data->Data1.TDF_Type << 😎 | Data->Data1.Data);
Result = (bool)TRUE;


again. But on the oscilloscope I can see that there is no reaction on the bus.

Is there a possibility to reset I2C or is there anyone who had the same Problem and was able to solve it.

Thank you.
0 Likes
0 Replies