Witajcie,
jak wysterować po I2C ten scalak, żeby części portów działała jako wyjście, a część jako wejście? Chodzi o to, że jak przy adresowaniu układu ustawię
8 bit na zapis do układu i w kolejnym bajcie podam maskę stanów, to poustawiam określone w masce stany na wszystkich 8 portach, które wszystkie staną się wyjściowymi. A jeśli potem przy adresowaniu podam 8 bit na odczyt z układu, to wszystkie porty staną się wejściowe? Jeśli tak, to porty przestaną wystawiać ustawione wcześniej stany wyjściowe i np. jakiś port nie będzie zasilał choćby kontrolnego LED-a. A co w sytuacji, gdy najpierw zaadresuję układ do odczytu stanów portów, a do jednego z portów (jako wejścia) podłączę jakieś źródło napięcia (np. dla kontroli stanu zasilania układu), a potem zapisem do układu będę chciał ustawić jakieś stany na portach (które przełączą się na wyjście), to jeśli na powyższym porcie kontrolującym zasilanie ustawię stan niski, to zrobię zwarcie źródła zasilania.Dla porównania, PCA9555 ma rejestry 6 i 7, w których można ustawić kierunki określonych portów i potem czytać (rejestry 0 i 1) lub ustawiać (rejestry 2 i 3) stany określonych portów.