I've got a little I2C rig setup and I can communicate with an PCF8575
I can drive a pin LOW but cannot pull it high.
eg:
0x40,0xAA,0xAA turns every other pin low but nothing goes high.
Anyone else using this type of I/O expander.
Aren't they really strange? - pins are IN and OUT at the same time, and I 'think' that outputs are open-collector, so require pull-up resistors to work.
4. Question: In the data sheet of PCF8575 it is mentioned that the Port output is HIGH
after power-on. In the data sheet of PCF8575C it is mentioned that the Port output will
be in 3-state condition after power-on. We found that there is no difference in the block
diagram and the simplified schematic diagram of each I/O. What is the condition of the
outputs after power-on?
Answer: There is in fact a small difference in the schematic diagrams for PCF8575
and PCF8575C. The PCF8575C lacks the weak pull-up in the form of the 100 μA
current source in the output I/Os. This is the reason that PCF8575's I/Os remain HIGH
after power-on and after being written HIGH. Without this current source, PCF8575C's
I/Os will be in high-impedance state after the initial strong pull-up transistor is OFF (it
is ON during the acknowledge phase).