PCF8574AP, o co tu chodzi?

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

PCF8574AP, o co tu chodzi?

Post autor: M@ciej » 12 kwie 2008, 16:23

Mam pewien problem:

Posiadam układ PCF8574AP, ale z nim jest coś nie tak. Adres zamiast:

&B01110010

(A0 mam podłączoną do + zasilania, A1, A2 do masy), układ reaguje na następujący adres:

&B11100100

tak jakby wszystkie bity były przesunięte w lewo. Inna sprawa, że nie mogę sterować bitem na D7, po prostu nie reaguje ta końcówka w ogóle.

Czy ktoś miał może podobne problemy?

Awatar użytkownika
gwozdex
Użytkownik
Posty: 879
Rejestracja: 24 lut 2006, 10:04
Lokalizacja: Czechowice-Dziedzice
Kontakt:

Post autor: gwozdex » 13 kwie 2008, 0:23

Nie jestem pewien ale chyba jest to problem związany z wersją układu scalonego. Mianowicie wersja z literą A(AP) na końcu ma inny adres bazowy niż układy bez tej końcówki. Poszukaj szczegółów w artykule:
:arrow: https://elportal.pl/pdf/k10/52_05.pdf
Mam nadzieję, że pomogłem. Pozdrawiam

Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

Post autor: M@ciej » 13 kwie 2008, 10:06

No tak, w artykule jest napisane:

I2csend 112, 255 (adres binarnie: &B01110000)
I2csend 114, 255 (adres binarnie: &B01110010)

Przy czym u mnie na ten adres układ PCF8574 w ogóle nie reaguje. Sprawdzałem oba adresy bazowe, zarówno dla PCF8574, jak i 8574A(P), przy czym podany powyżej adres po przesunięciu o 1 bit w lewo dopiero działa. Można by tak to zostawić,ale chcę móc ustawić wszystkie 8 bitów, a nie tylko 7.

ga1_36
-
Posty: 1
Rejestracja: 04 maja 2008, 13:06
Lokalizacja: Mielec

Post autor: ga1_36 » 04 maja 2008, 13:24

PCF8574(A) posiada staly adres bin: 0 1 1 1 A2 A1 A0 R/W
pierwsze 4bity w hex: 7
druga polowa bajtu to:
3bity adres ustawiany na nogach A0,A1,A2 wedlug opisu bin: 0 0 1
ostatni bit decyduje czy READ (odczyt) lub WRITE (zapis) bin: R/W
cyli druga polowa bajtu to w hex: to 2 gdy odczyt i 3 gdy zapis
reasumujac:
adres hex do odczytu: 72h
adres hex do zapisu: 73h
mysle ze wystarczajoco wyjasnilem.

ODPOWIEDZ