Mam oba ekspandery na biurku: MCP23017 i pCF8575. Nie jestem za bardzo dobry w teorii ale MCP23017 na wyjściu potrafi zmienić polaryzację jak zmienia się ustawienia w GG z sterowania High na Low. Czyli ma "jakby" open drain ale obu typów mosfetów N-channel jak P-channel. Dla mnie fizycznie oznacza że:
1. MCP z ustawieniem sterowania LOW:
a) jeśli kanał jest "off", to między pinem, a GND mamy napięcie 3,3V ale między pinem, a VCC mamy 0V
b) jeśli kanał jest "on", to między pinem, a GND mamy 0V ale między pinem , a VCC mamy 3,3V
2. MCP z ustawieniem sterowania High:
a) kanał "off", to między pinem, a GND mamy 0V ale między pinem, a VCC mamy 3,3V
b) kanał "on", to między pinem, a GND mamy 3,3V ale między pinem a VCC mamy 0V
dla PCF8575 analogicznie:
1. PCF z ustawieniem sterowania LOW:
a) kanał "off", to między pinem, a GND jest 0V i między pinem, a VCC także 0V
b) kanał "on", to między pinem, a GND jest 0V ale między pinem, a VCC mamy 3,3V
2. PCF z ustawieniem sterowania High:
a) kanał "off", to między pinem, a GND jest 0V ale między pinem, a VCC jest 3,3V
b) kanał "on", to między pinem, a GND jest 0V i między pinem, a VCC jest także 0V
W PCF8575 jest jeszcze ten efekt że przy sterowaniu Low jest ten impuls. W MCP nie ma takiego efektu. Różnica jeszcze jest taka że MCP jak nie ustawi się pinu w opcjach GG to nie ma tam potencjału zarówno do GND jak i VCC, natomiast w PCF bez ustawienia jest potencjał między pinem a VCC i pewnie z tego wynika ten impuls.
Ogólnie jeśli ma tak zostać w sensie tak ma ten układ PCF to wystarczy zrobić rezystor podciągający do 3,3V i ustawienie sterowania na High i wtedy ominę to mrugnięcie i będzie to działało sensownie.
Natomiast słabo jak jednak okaże się że można wywołać softem sterowanie jak MCP i wtedy hardware będzie do wymiany co wolałbym uniknąć