Jak skonfigurować PCF8574 w trybie wejściowym z AVR, aby odczytać dane?

Expander PCF8574, tryb wejsciowy





Poprzedni Następny
Wiadomość
Spis treści
From: Look <Look_at_nospam_wp.pl>
Subject: Expander PCF8574, tryb wejsciowy
Date: Mon, 22 May 2006 10:24:10 +0200


Witam wszystkich.

Podczepiłem sobie ten układzik pod AVR-ka i z zapisem nie ma żadnych
problemów.
Linie A0, A1, A2 do masy więc adresik układu do zapisu to 0x38 i stany
portów ustawiam jak chcę.
Jednak nic z tego układu nie moge odczytać, adres 0x39 dla odczytu i
układ milczy.
Czy trzeba jeszcze coś specjalnego zrobić żeby układzik odpowiedział??

Pozdrawiam.


Poprzedni Następny
Wiadomość
Spis treści
From: "Greg\(G.Kasprowicz\)" <Grzegorz.Kasprowicz_at_nospam_CERN.CH>
Subject: Re: Expander PCF8574, tryb wejsciowy
Date: Mon, 22 May 2006 12:49:41 +0200


Podczepiłem sobie ten układzik pod AVR-ka i z zapisem nie ma żadnych
problemów.
Linie A0, A1, A2 do masy więc adresik układu do zapisu to 0x38 i stany
portów ustawiam jak chcę.
Jednak nic z tego układu nie moge odczytać, adres 0x39 dla odczytu i
układ milczy.
Czy trzeba jeszcze coś specjalnego zrobić żeby układzik odpowiedział??

AFAIR zeby cos odczytac z IIC trzeba najpierw zapisac adres..
nie pamietam jak w tym kokretnym przypadku..sprawdz w datasheet'cie



Poprzedni Następny
Wiadomość
Spis treści
From: Look <Look_at_nospam_wp.pl>
Subject: Re: Expander PCF8574, tryb wejsciowy
Date: Mon, 22 May 2006 13:29:20 +0200


AFAIR zeby cos odczytac z IIC trzeba najpierw zapisac adres..
nie pamietam jak w tym kokretnym przypadku..sprawdz w datasheet'cie

no i tak robie, najpierw wysyłam 0x39 potem odczytuje daną.
chyba dobrze?


Poprzedni Następny
Wiadomość
Spis treści
From: "Greg\(G.Kasprowicz\)" <Grzegorz.Kasprowicz_at_nospam_CERN.CH>
Subject: Re: Expander PCF8574, tryb wejsciowy
Date: Mon, 22 May 2006 13:41:20 +0200


no i tak robie, najpierw wysyłam 0x39 potem odczytuje daną.
chyba dobrze?
niech sprawdze u siebie..
mam podpieta 4 przyciskowa klawiature przez ten extender
tak ustawiam FF na wyjsciu

get_key_init: ; sets high keyboard inputs
call stop_check ; make sure the last operation is not in progress
mov dptr,#I2CS ; set the START bit
mov a,#80h ; b7=start bit
movx _at_nospam_dptr,a

;
mov dptr,#I2DAT ; first data byte is address+direc
mov a,#4eh ; IO expander address, bit b0=0 means write
movx _at_nospam_dptr,a

call wait_done ; wait for i2c transmit complete
;
mov a,#0ffh
mov dptr,#I2DAT ; write the data byte
movx _at_nospam_dptr,a
call wait_done
;
mov dptr,#I2CS ; set the STOP bit
mov a,#01000000b
movx _at_nospam_dptr,a
ret


a tak czytam:


get_key: ;returns in ACC keyboard state
call stop_check ; make sure the last operation is not in progress
mov dptr,#I2CS ; set the START bit
mov a,#80h ; b7=start bit
movx _at_nospam_dptr,a

;
mov dptr,#I2DAT ; first data byte is address+direc
mov a,#4fh ; IO expander address, bit b0=0 means write
movx _at_nospam_dptr,a

call wait_done ; wait for i2c transmit complete
;
mov dptr,#I2DAT ; write the data byte
movx a,_at_nospam_dptr
call wait_done

mov dptr,#I2CS ; set the START bit
mov a,#00100000b ; b5=last read
movx _at_nospam_dptr,a

mov dptr,#I2DAT ; write the data byte
movx a,_at_nospam_dptr
push acc
;
mov dptr,#I2CS ; set the STOP bit
mov a,#01000000b
movx _at_nospam_dptr,a

pop acc
ret



powinno teraz wszystko stac sie jasne
soft testowany byl na CY7C68013, podczepialem mu pod USB modul wyswietlaczy
i klawiatury wyciagneity z jakeijs szafy sterowniczej wlasnei w celu
debuggowania





Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr [PKi]" <pki.nospam_at_nospam_wp.pl>
Subject: Re: Expander PCF8574, tryb wejsciowy
Date: Mon, 22 May 2006 22:28:32 +0200


Look napisał(a):
Witam wszystkich.

Podczepiłem sobie ten układzik pod AVR-ka i z zapisem nie ma żadnych
problemów.
Linie A0, A1, A2 do masy więc adresik układu do zapisu to 0x38 i stany
portów ustawiam jak chcę.
Jednak nic z tego układu nie moge odczytać, adres 0x39 dla odczytu i
układ milczy.
Czy trzeba jeszcze coś specjalnego zrobić żeby układzik odpowiedział??

Pozdrawiam.


Mi z datasheeta wychodzi 0x41 do odczytu, 0x40 do zapisu?

i zobacz czy nie masz czasem wersji "A", bo ta ma inne adresy.

Poprzedni Następny
Wiadomość
Spis treści
From: Rogher <rogher_at_nospam_wp.pl>
Subject: Re: Expander PCF8574, tryb wejsciowy
Date: Tue, 23 May 2006 06:28:32 +0200


Piotr [PKi] napisał(a):
Look napisał(a):
Witam wszystkich.

Podczepiłem sobie ten układzik pod AVR-ka i z zapisem nie ma żadnych
problemów.
Linie A0, A1, A2 do masy więc adresik układu do zapisu to 0x38 i stany
portów ustawiam jak chcę.
Jednak nic z tego układu nie moge odczytać, adres 0x39 dla odczytu i
układ milczy.

A tak zapytam bo nie kojarzę czy sprawdzałeś:

Aby I/O były wejściami to musisz ustawić je w stan High, to wiesz?
Masz problem z tym że przy odczycie magistrala milczy, czy z tym że to
co odczytujesz nie odpowiada rzeczywistości?

Rogher