RTV forum PL | NewsGroups PL

PCF8574 - kierunek I/O poszczególnych portów

NOWY TEMAT

elektroda.net NewsGroups Forum Index - Elektronika Polska - PCF8574 - kierunek I/O poszczególnych portów

Marek
Guest

Thu Mar 29, 2018 2:51 pm   



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.

--
Pzdr.
Marek

Guest

Thu Mar 29, 2018 6:40 pm   



Marek <trele_at_fele.pl> wrote:
Quote:
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.

Przeczytaj sobie datasheeta. Jak chcesz miec wejscie to zapisujesz do
odpowiedniego bitu 1. Wtedy masz slabe podciaganie do zasilania
i to co steruje linia powinno wygrac. Odczyt po prostu odczytuje to
co jest na liniach, niezaleznie od tego so uklad probuje wyslac.
Przy tym nic nie "staje sie wyjsciem", po prostu byfor wyjsciowy przy
zmianie stanu _w rejesterze wyjsciowym_ daje wiekszy prad a przy
ustalonym stanie w rejesterze wyjsciowym prad jest bardzo maly.

--
Waldek Hebisch

Adam Wysocki
Guest

Sat Mar 31, 2018 11:35 pm   



Marek <trele_at_fele.pl> wrote:

Quote:
jak wysterować po I2C ten scalak, żeby części portów działała jako wyjście,
a część jako wejście?

Masz dwa możliwe stany.

0 -- mocna masa, pin w rezultacie jest wyjściem ustawionym na 0
1 -- słaby plus, pin jest podciągnięty słabym rezystorem do plusa

Jeśli ustawisz 1 i wykorzystasz pin jako wyjście, to ten słaby plus
będziesz mógł sobie wzmocnić (np. wysterować nim tranzystor).

Jeśli ustawisz 1 i wykorzystasz pin jako wejście, to w przypadku
niepodłączenia wejścia (lub podłączenia do plusa) odczytasz 1, a
w przypadku podłączenia do masy odczytasz 0.

Musisz pamiętać, że ten układ wystawia albo mocne zero (czyli możesz np.
zasilić LED z anodą podłączoną przez rezystor do plusa), albo słabą
jedynkę, która łatwo jest pokonywana przez podłączony do niego stan. Nie
wystawisz mocnej jedynki (żeby móc np. zasilić LED od strony anody, gdzie
katoda będzie podłączona do masy).

Quote:
to jeśli na powyższym porcie kontrolującym zasilanie ustawię stan niski,
to zrobię zwarcie źródła zasilania.

Teoretycznie tak. W praktyce nie ma tam tak silnego źródła, żebyś zrobił
zwarcie. Po prostu będzie większy pobór prądu.

--
[ Email: a_at_b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]

Marek
Guest

Wed Apr 04, 2018 5:48 am   



W dniu 2018-03-29 o 16:51, Marek pisze:
Quote:
Witajcie,

jak wysterować po I2C ten scalak, żeby części portów działała jako wyjście,
a część jako wejście?

Dzięki Koledzy za łopatologiczne wyjaśnienie.


--
Pzdr.
Marek

elektroda.net NewsGroups Forum Index - Elektronika Polska - PCF8574 - kierunek I/O poszczególnych portów

NOWY TEMAT

RTV map News map