cancel
Showing results for 
Search instead for 
Did you mean: 

I2C SDA, SCL held high

projnikdroid
Associate II
Posted on April 08, 2014 at 15:37

 I m working on STM32F303. I have interfaced I2C2 to EEPROM and DS3231 with pullups on SDA and SCL..

Issue:

After Reset, SDA and SCL line is held high (it only happens ocassionally)..

While I2C works properly, i can access both(EEROM and DS3231)
4 REPLIES 4
Posted on April 08, 2014 at 15:59

The pins are pulled high, the idle state of I2C is high, the problem is what?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
projnikdroid
Associate II
Posted on April 08, 2014 at 16:03

I2C not responding... i guess it cant communicate with any of the above(some times)..

After Reset, at times it works, or not.(works)

projnikdroid
Associate II
Posted on April 08, 2014 at 16:06

I2C not responding... i guess it cant communicate with any of the above(some times)..

After Reset, at times it works, or not.(it works : I2C works (i can read data) ) else it hangs, in debugging it shows STOPF and NACKF bit set in ISR Reg

Posted on April 08, 2014 at 16:20

The I2C implementation on the STM32's is UGLY, there are conditions depending on how (order) you bring up the pins, that the peripheral will see a LOW pin and enter a BUSY mode. Is that what you're talking about? What status is the peripheral reporting in this condition?

Also chips hung on the I2C bus often don't have a RESET, if they get hung in an odd state you might need to clock them out manually.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..