I have a quite strange dilemma, let me try to explain.
The app during initialization of I2C protocol, e.g. writing or reading I2C block, hangs for ~10 sec, then continues... since there should be quite a lot of this read-write routines for initialization and needed data transmission, instead of 3 secs we have a lot of time... once I waited 30 mins, when went to lunch.
debugging is done by the UART terminal, using DockLight (don't ask why)
so for debugging I was sending characters over the UART, which trigger Tx line in uC, to see which functions hang the app... then after sending characters, there was no more hanging and app continues to the next functions. so sending a character before the read or write I2C block routine, eliminates hanging and app works as it should...
I wonder why this happened? and btw delays could not replace sending characters, cause I thought sendchar funct. created a delay, that was needed for initialization. I tried 50us, 100us, 150us, 200us and bigger values like one to hundreds ms.
any ideas are welcome