Thanks for the input... I have already read the above section and tried to do the same i.e. send a Stop before resuming normal mode of operation (Start bit - address - read write bit - stop bit) but that did not help. It somehow affects the working of other I2C slaves. They also stop responding after sending of the Stop bit. Also what does uncontrolled termination even mean? Does it mean that I2C operation got terminated during a read/write sequence?
The general sequence of operation is as follows.
I2Cinit();
Stopbit();
while(1)
{
StartBit();
AddrAndDatabits();
StopBit();
otherOperations();
}
And I am able to make it work without sending of the stop bit when battery is connected. But now I am facing another problem where I am not receiving the interrupt. The interrupt is configured for second i.e. an interrupt will be generated each second. This operation too works fine without the battery. The RTC stops generating interrupts the moment battery is connected. I even tried putting the battery during runtime i.e the RTC is generating interrupts without battery and when battery is inserted the interrupts stop coming. The RTC is still connected to Vdd but still its getting affected by the presence of battery.