-
1. Data: 2018-03-29 16:51:57
Temat: PCF8574 - kierunek I/O poszczególnych portów
Od: Marek <t...@f...pl>
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
-
2. Data: 2018-03-29 18:40:43
Temat: Re: PCF8574 - kierunek I/O poszczeg?lnych port?w
Od: a...@m...uni.wroc.pl
Marek <t...@f...pl> wrote:
> 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
-
3. Data: 2018-03-31 23:35:12
Temat: Re: PCF8574 - kierunek I/O poszczególnych portów
Od: g...@s...invalid (Adam Wysocki)
Marek <t...@f...pl> wrote:
> 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).
> 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@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
-
4. Data: 2018-04-04 07:48:21
Temat: Re: PCF8574 - kierunek I/O poszczególnych portów
Od: Marek <t...@f...pl>
W dniu 2018-03-29 o 16:51, Marek pisze:
> 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