> > On Tuesday, February 08, 2000 Robert Rolf wrote: > > So why bother with the diode or the zeners? > > I2C bus is Open Drain so all you need is pullups to 3.3V. > > Robert, you're right about that I2C is open drain bus, but PORTB of > PIC isn't. Zener is just to protect 3.3V slave if PIC puts 5V on SDA > or SCL line, which happens when PIC is misconfigured or during > power-up. The diode serves the same purpose, though it limits SCL to > one direction. Use SDA setup for SCL if you like. But the 84 shouldn't be driving the lines high. IIRC you should clear the bits of the port and TRIS it as input and allow the pullups to pull the line high (3.3V) and TRIS it as output when you want to drive it low. During power up it should default to input _ true if it is misconfigured then there might be a problem, but then I don't have to deal with commercial applications just student projects which just have to survive until the viva. ---------------------------------------------------------------------------- | Richard Thomas Computer Officer | | Department of Design, | | Brunel University, Runnymede, Egham, TW20 0JZ, UK. | | Richard.Thomas@brunel.ac.uk phone: 01784 431341 x267 | ----------------------------------------------------------------------------