-
1. Data: 2010-03-23 11:19:14
Temat: PCF8574
Od: "Michał" <m,wojtkow.nospam@wp.pl>
Cześć,
Mam śmieszny problem, ale zatrzymał mnie już drugi dzień, więc proszę o
pomoc.
Chcę użyć PCF8574, gdzie 4 piny będą wejsciami a 4 wyjściami.
Aby odczytać stan wejść, muszę wysłać najpierw na adres podstawowy w wartość
255,
w celu ustwienia układu w tryb input, a nastepnie na adresie dodatkowym
odpytuję o stan portu.
Co jesli chce uzywac jako wyjsc polowy portu.
Wysyłam losowe wartosci na adres podstawowy 1,2,4,8 i wszystko niby działa,
ale co jeśli
chciałbym wszystkie piny użyc jako wyjścia i ustawić im stan wysoki ,bo
muszę wysłać wartość 255,
co układ odbierze jako odpytanie portów wejsciowych.
Pogubiłem się, a w googlach widzę tylko przykłady użycia PCF8574 jako
wejścia.
W manualu nawet nie ma wzmianki i konieczności wcześniejszego wysłania
wartości 255 dla odczytania portu.
Pozdrawiam Michał
-
2. Data: 2010-03-23 11:54:34
Temat: Re: PCF8574
Od: "PC" <p...@p...onet.pl>
255 wysyła się aby piny ustawić w stan wysoki przy założeniu, że po resecie
mają nieustalony. Jeżeli programowo nie zmienisz stanu Twoich pinów
wejściowcych to ich stan jest zależny od tego co na wejściu. Jak coś uziemia
z zewnątrz Twoje piny wejściowe to i tak programowo nie zmienisz ich stanu.
Wysyłając coś do układu aby zmienić stan pinów wyjściowych dla wejściowych
przyjmujesz stan 1.
PC
-
3. Data: 2010-03-23 12:06:06
Temat: Re: PCF8574
Od: Mario <m...@p...onet.pl>
W dniu 2010-03-23 12:54, PC pisze:
> 255 wysyła się aby piny ustawić w stan wysoki przy założeniu, że po
> resecie mają nieustalony.
OIDP Power-on reset powoduje ustawienie wszystkich wyjść na Hi.
--
Pozdrawiam
MD
-
4. Data: 2010-03-23 12:10:02
Temat: Re: PCF8574
Od: "Michał" <m,wojtkow.nospam@wp.pl>
> 255 wysyła się aby piny ustawić w stan wysoki przy założeniu, że po
> resecie mają nieustalony. Jeżeli programowo nie zmienisz stanu Twoich
> pinów wejściowcych to ich stan jest zależny od tego co na wejściu. Jak coś
> uziemia z zewnątrz Twoje piny wejściowe to i tak programowo nie zmienisz
> ich stanu.
> Wysyłając coś do układu aby zmienić stan pinów wyjściowych dla wejściowych
> przyjmujesz stan 1.
Czyli, na adres podstawowy mogę wysyłać tylko żadanie zniamy stanu wyjscia,
a na adresie dodatowym odczytywać stan wejsc i brać pod uwagę tylko piny,
których używam jako wejść.
To ma sens, nie wiedziałem po co ten nieszczesny początek 255:-)
Dzięki, pozdrawiam
-
5. Data: 2010-03-23 12:13:48
Temat: Re: PCF8574
Od: Sylwester Łazar <i...@a...pl>
Kolega już tu ładnie odpisał, a ja ze swojej strony dodam,
że należy zwrócić uwagę na adres w zależności od literki A na końcu
oznaczenia.
Kiedyś miałem kłopot, bo zamiast PCF8574 był kupiony PCF8574A.
I tak musiałem zmienić kod:
;S4.9 I2C
;okreťlenie adresˇw uk|adˇw scalonych
IF PCF8574A
cKB0 EQU 0x70 ;adres uk|adu KB0
cKB1 EQU 0x72 ;adres uk|adu KB1
cKB2 EQU 0x74 ;adres uk|adu KB2
cKB3 EQU 0x76 ;adres uk|adu KB3
ELSE
cKB0 EQU 0x40 ;adres uk|adu KB0
cKB1 EQU 0x42 ;adres uk|adu KB1
cKB2 EQU 0x44 ;adres uk|adu KB2
cKB3 EQU 0x46 ;adres uk|adu KB3
ENDIF
--
pozdrawiam
Sylwester Łazar
http://www.alpro.pl
http://www.rimu.pl -oprogramowanie do edycji schematów
i projektowania PCB
-
6. Data: 2010-03-23 12:52:55
Temat: Re: PCF8574
Od: Adam Górski <t...@m...pl>
Michał pisze:
> Cześć,
>
> Mam śmieszny problem, ale zatrzymał mnie już drugi dzień, więc proszę o
> pomoc.
> Chcę użyć PCF8574, gdzie 4 piny będą wejsciami a 4 wyjściami.
> Aby odczytać stan wejść, muszę wysłać najpierw na adres podstawowy w wartość
> 255,
> w celu ustwienia układu w tryb input, a nastepnie na adresie dodatkowym
> odpytuję o stan portu.
>
> Co jesli chce uzywac jako wyjsc polowy portu.
> Wysyłam losowe wartosci na adres podstawowy 1,2,4,8 i wszystko niby działa,
> ale co jeśli
> chciałbym wszystkie piny użyc jako wyjścia i ustawić im stan wysoki ,bo
> muszę wysłać wartość 255,
> co układ odbierze jako odpytanie portów wejsciowych.
>
> Pogubiłem się, a w googlach widzę tylko przykłady użycia PCF8574 jako
> wejścia.
> W manualu nawet nie ma wzmianki i konieczności wcześniejszego wysłania
> wartości 255 dla odczytania portu.
>
> Pozdrawiam Michał
>
>
>
>
Cześć
1.Układ nie posiada dwóch adresów,pomylił kolega bit R/W z adresowymi.
Adresowanie po I2C ma 7 bitów czyli do 127 urządzeń a 8 bit to R/W
2.Ależ wszystko jest w manualu. Proszę popatrzeć na schemat wew.
Port wyjściowy nie ma tranzystora do ustawiania stanu wysokiego na
wyjściu. Ma źródło prądowe o ile dobrze pamiętam 100uA.
Jeżeli ma pracować jako wyjściowy to możesz albo wymusić stan niski albo
go nie wymuszać i wtedy masz stan wysoki realizowany poprzez źródło prądowe.
Jeżeli ma pracować jako wejście to stan niski podobnie wymuszony
zewnętrznie a wysoki może być wymuszony zewnętrznie lub podobnie jak w
poprzednim przypadku.
Tak czy siak - wejście czy wyjście nie ma przełączania kierunku portu.
Pozdrawiam
Adam