> I'm not certain where your problem is coming from, but here
> are my I2C notes about I2C devices:
>
> 1. I2C devices are simple state machines. But powerup does NOT place
> the device in a known state. In fact, every I2C device on the bus might be
> in a state that seizes the SDA bus. The easiest way to initialize is to
> execute
> clocks until the SDA bus is released. The maximum number needed is 9
> clocks.
> If the SDA cannot be freed after 9 clocks, you either have another master
> driving the bus, or you have a defective i2c device on the bus.
>
> 2. Synchronize the bus by performing a STOP flag, followed by a START
> flag then a final STOP flag. At this point, all I2C devices on the bus are
> initialized and will execute properly from then on.
>
> 3. I never use pullups lower than 3.3K on 5V buses, 2.2K on 3V buses.
> SOME I2C devices can't pull down a heavier resistor.
>
> 4. After a master has finished with the I2C bus on a multi-master system,
> it
> must release (tristate) both pins immediately. This is naturally easy to
> do,
> because the STOP flag causes both pins to be in the '1' state anyway.
>
> 5. I have heard of i2c buses being run over a meter distance, etc. This
> is not a good idea, because line reflections become a problem . I2C is
> a communication system designed to control TV components using few
> wires, and it works fine as long as the bus stays on the same PCB.
>
> --Bob
>
>
> On 7/15/06, Olin Lathrop <
@spam@olin_piclistKILLspam
embedinc.com> wrote:
> >
> > Marty Robertson wrote:
> > > I've seen others use anywhere from 1 to 10K, but I'm not sure on the
> > > spec.
> >
> > Then get sure.
> >
> > > I'll try something a little higher and see if that helps.
> >
> > Try waving a dead fish over it during a full moon.
> >
> > ******************************************************************
> > Embed Inc, Littleton Massachusetts, (978) 742-9014. #1 PIC
> > consultant in 2004 program year.
http://www.embedinc.com/products
> > --