2007-04-09 11:17 PM
2011-05-17 12:40 AM
Hi,
How do I have to deal with a slow device on the I2C bus. The device (P69V664, a 8052 alike µController) can operate on 100KHz, but when receiving data, the µC needs some time to store this data. The I2C specs tell me that the bus can be paused by holding the CLK signal low (better known as clock strtching ..). This does not seems to work. The STR912 datasheets tell me that the clock is held low as soon the I2C is transmitted. So what can I do else to pause the I2C traffic. Luc vercruysse2011-05-17 12:40 AM
Hi Luc,
Have you tried to put some delay just after receiving ACK event from slave? Best regards, STARM2011-05-17 12:40 AM
Thank you for response.
I did try this and it works. Of course this slows down the troughput of the I2C. The 2 processors do communicate all the time and there are quiet a lot of bytes that are sended. As I handle the I2C communication in interrupt, this will slow down my program. So this is not an option for me. I changed to SSP to communicate between the 2 processors, this works OK an is faster ! Luc Vercruysse