> >>>I know that when I've implemented I2C buses > > > >> no pullups needed, because you output are push-pull instead of > >> open-collector. > > > A hardware slave I2C PIC (eg F88) has both the usual N-ch / P-ch > > push-pull i/o FETs. > >You probably meant the right thing, but it sounds odd. While the ports do >have the usual push-pull output FETs, in I2C mode the push-up FET is >disabled -- as it has to be. So effectively, in I2C mode the SPI data/clock >lines are open drain outputs -- on both master and slave. All well and good but perhaps a complex way to explain, that i2c is bidirectional and SPI is not. SPI is a good old fashioned TTL-style hookup -- everything that is an output connects only to inputs, and all inputs and outputs stay that way. It's also why SPI has more wires, because there's a Data Out and an Data In. Barry -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist