Content originally posted in LPCWare by Wenzu on Sun Dec 26 16:12:21 MST 2010
Season's Greetings to all.
I think I've wasted the last 3 days ( christmas included :( .....arrrggg) , trying to get my code, based on the provided I2C example ( very weak one at that !! ) working properly.
Does the I2CEngine in the i2c.c example file support restarts well ?? The i2c interrupt code seems OK !
Or i2c reads greater than 3 bytes ??
i2c engine says.. "see i2cmst.c for more details." ( could not find this!! )
My example code seems to hang after a few reads.
It will not hang for a 2 bytes read.. but when a string of 8 bytes is requested, it fails.
Actually.. even if I ask for 3 or more bytes to be read.
My I2C device is connected well .
( I have even taken everything off the breadboard and soldered all connections with short cable ). Have even changed the pull ups to 2k2, just in case.
Same breakout board works very well with any Pic I hook it up with, also with LPC1768(mbed)... even with 10k pull-ups.
I have even tried to use 100Khz instead of 400Khz. Same issue.
Also tried my hand at modifying the High and Low values of the SCL duty cycle,
because this I2C device requires an asymmetric low and high .
Thanks !!!
Any pointers appreciated.