The Wikipedia entry on 'Pull-up resistor' says that pull-up resistors are needed on the SCL and SDA lines for I2C. Is this really the case?
It seems reasonable to assume that any reputable slave device would already have such pull-ups if they are necessary, but should one always software-enable internal pull-ups on these pins in the master chip as a precaution against incorrect data? Or are hardware pull-ups recommended? I seem to be getting away without doing either, but I don't want my project to fail for want of a line of code or a couple of resistors.