PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "ariachi" <ariachi_at_nospam_poczta.onet.pl>
Subject: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Date: Fri, 27 Aug 2004 00:33:34 +0200


PROSZE O POMOC. MAM ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C.
POSIADAM PROCEDURY DO OBSLUGI OBYDWU URZADZEN ALE PO ZLOZENIU TYCH
PROGRAMIKOW "DO KUPY" PAMIEC NIE CHCE MI CHODZIC. ZEGAR URUCHAMIALEM
PIERWSZY I DZIALA NADAL POPRAWNIE.
CZY KTOS KIEDS MOZE URUCHAMIAL TE URZADZENIA RAZEM I POSIADA PRZYPADKIEM
PROCEDURY W ASSEMBLERZE NA AT89S8252? (TO JEST ZWYKLA '52).
ZA WSZELKA POMOC BEDE WDZIECZNY.



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Jarek Andrzejewski <jareka_at_nospam_dawid.com.pl>
Subject: Re: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Date: Fri, 27 Aug 2004 01:36:44 +0200


On Fri, 27 Aug 2004 00:33:34 +0200, "ariachi" <ariachi_at_nospam_poczta.onet.pl>
wrote:

PROSZE O POMOC. MAM ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C.

a adresy się nie "gryzą"?

I nie krzycz...

--
pozdrawiam,
Jarek Andrzejewski

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "ariachi" <ariachi_at_nospam_poczta.onet.pl>
Subject: Re: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Date: Fri, 27 Aug 2004 01:58:13 +0200



Użytkownik "Jarek Andrzejewski" <jareka_at_nospam_dawid.com.pl> napisał :

a adresy się nie "gryzą"?

dzis to juz sprawdzalem - nie maja prawa sie gryzc dla 24C32 mam adres
10100011x (piny A0 i A1 do + ; A3 do GND) a PCF8583 ma 1010000x.(A0 do
masy)
Staram sie sprawdzic nastepujaco pamiec: Wysylam adres urzadzenia pozniej
bardziej i mniej znaczaca czesc adresu komorki pamieci do korej chce pisac i
z ktorej chce pozniej czytac. Wysylam mu znak (#'=') i pozniej odczytuje.
Tylko ze juz nie ten znak. Zauwazylem ze jesli w procedurze wysylania danej
do SLAVE włączę linijke oczekiwania na ACK SLAVE (JB SDA, $) w momecie
kiedy uzywam tej procedury dla 24C32 caly program mi sie zatrzymuje. To tak
jakby ten uklad wogole nie wysylal bitu potwierdzenia .. nie wiem wlasciewie
jak mam to interpretowac... przydala by sie jakas dzialajaca procedura
obsugujaca oba urzadzenia ...

I nie krzycz...
sorki .. :)
--
> pozdrawiam,
> Jarek Andrzejewski
dzieki
pozdrawiam
ariachi



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Jarek Andrzejewski <jareka_at_nospam_dawid.com.pl>
Subject: Re: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Date: Fri, 27 Aug 2004 02:38:30 +0200


On Fri, 27 Aug 2004 01:58:13 +0200, "ariachi" <ariachi_at_nospam_poczta.onet.pl>
wrote:


Użytkownik "Jarek Andrzejewski" <jareka_at_nospam_dawid.com.pl> napisał :

a adresy się nie "gryzą"?

dzis to juz sprawdzalem - nie maja prawa sie gryzc dla 24C32 mam adres
10100011x (piny A0 i A1 do + ; A3 do GND) a PCF8583 ma 1010000x.(A0 do
masy)

obawiam się, że nic z tego :-(

http://www.lennard.net.nz/electronics/i2c.html

"The PCF8583 is, basically, a 256byte RAM chip, hence it's ID code is
the same as for an EEPROM (1010)."


--
pozdrawiam,
Jarek Andrzejewski

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anokWYTNIJ_at_nospam_ceti.pl>
Subject: Re: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Date: Fri, 27 Aug 2004 04:03:20 +0200


Użytkownik "Jarek Andrzejewski" <jareka_at_nospam_dawid.com.pl> napisał w wiadomości
news:5b0ti017v6d87ac6efn1pm3ubf11fjmpc0_at_nospam_4ax.com...
...
dzis to juz sprawdzalem - nie maja prawa sie gryzc dla 24C32 mam adres
10100011x (piny A0 i A1 do + ; A3 do GND) a PCF8583 ma 1010000x.(A0 do
masy)

obawiam się, że nic z tego :-(

http://www.lennard.net.nz/electronics/i2c.html

"The PCF8583 is, basically, a 256byte RAM chip, hence it's ID code is
the same as for an EEPROM (1010)."
...


no ale po to sa nogi A3, A2, A1w EEPROM'ie i A0 w PCF8583
zeby ustawic tak aby nie kolidowaly

co prawda PCF ma tylko A0 wiec sa tylko w dwie mozliwosci

A0 w PCF'ie musi byc w przeciwnym stanie niz A0 w EEPROM'ie
i wtedy nie bedzie kolizji

--
Andrzej




========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Jarek Andrzejewski <jareka_at_nospam_dawid.com.pl>
Subject: Re: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Date: Fri, 27 Aug 2004 04:28:03 +0200


On Fri, 27 Aug 2004 04:03:20 +0200, "Andy" <anokWYTNIJ_at_nospam_ceti.pl> wrote:

Użytkownik "Jarek Andrzejewski" <jareka_at_nospam_dawid.com.pl> napisał w wiadomości
news:5b0ti017v6d87ac6efn1pm3ubf11fjmpc0_at_nospam_4ax.com...
...
dzis to juz sprawdzalem - nie maja prawa sie gryzc dla 24C32 mam adres
10100011x (piny A0 i A1 do + ; A3 do GND) a PCF8583 ma 1010000x.(A0 do
masy)

obawiam się, że nic z tego :-(

http://www.lennard.net.nz/electronics/i2c.html

"The PCF8583 is, basically, a 256byte RAM chip, hence it's ID code is
the same as for an EEPROM (1010)."
...


no ale po to sa nogi A3, A2, A1w EEPROM'ie i A0 w PCF8583
zeby ustawic tak aby nie kolidowaly

co prawda PCF ma tylko A0 wiec sa tylko w dwie mozliwosci

A0 w PCF'ie musi byc w przeciwnym stanie niz A0 w EEPROM'ie
i wtedy nie bedzie kolizji

jeszcze jedno mi się skojarzyło: adres komórki w EEPROMie ma chyba 12
bitów, a w PCFie - tylko 8.

Nie dam głowy na 100%, ale chyba coś tam przeszkadza w pracy obu tych
układów na jednej szynie. Ja w każdym razie mam je na osobnych liniach
w swoich konstrukcjach.
--
pozdrawiam,
Jarek Andrzejewski

========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.p

Poprzedni Następny
Wiadomość
Spis treści
From: "PC" <pchWYTNIJTO_at_nospam_poczta.onet.pl>
Subject: Re: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ
Date: 27 Aug 2004 14:20:58 +0200



Nie dam głowy na 100%, ale chyba coś tam przeszkadza w pracy obu tych
układów na jednej szynie. Ja w każdym razie mam je na osobnych liniach
w swoich konstrukcjach.


U nie pracują oba elementy na wspólnej szynie. co prawda eepromy mniejsze bo
24c02 lub 24c04 ale to przecież nie ma większego znaczenia. Niestety nie piszę
w asemblerze takich rzeczy więc nie wiele moge pomoóc.

PC

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anokWYTNIJ_at_nospam_ceti.pl>
Subject: Re: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Date: Fri, 27 Aug 2004 03:54:42 +0200


Użytkownik "ariachi" <ariachi_at_nospam_poczta.onet.pl> napisał w wiadomości news:cgltd2$5fo$1_at_nospam_news.onet.pl...

... Zauwazylem ze jesli w procedurze wysylania danej
do SLAVE włączę linijke oczekiwania na ACK SLAVE (JB SDA, $) w momecie
kiedy uzywam tej procedury dla 24C32 caly program mi sie zatrzymuje. To tak
jakby ten uklad wogole nie wysylal bitu potwierdzenia ..
...

musi wysylac czyli ack 0

jesli nie potwierdza znaczy, ze nie czuje sie sie wywolany

proponuje podlaczyc jeden scalak potem drugi a na koniec oba razem
do magistrali i zrobic probe
wysylac wszystkie adresy urzadzen na I2C od 0 do 127
i zobaczyc przy ktorych jest potwierdzenie

wystarczy wysylac tylko ten pierwszy bajt adresujacy urzadzenie
potem STOP nastepnie START i kolejny adres

w ten sposob wyjasni sie, pod ktorymi adresami zglaszaja sie scalaki

--
Andrzej




========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Krzysztof Gawryś" <profrook_at_nospam_o2.pl>
Subject: Re: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Date: Fri, 27 Aug 2004 10:32:53 +0200



Użytkownik "ariachi" <ariachi_at_nospam_poczta.onet.pl> napisał w wiadomości
news:cgloe9$av9$1_at_nospam_news.onet.pl...
PROSZE O POMOC. MAM ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE
I2C.
POSIADAM PROCEDURY DO OBSLUGI OBYDWU URZADZEN ALE PO ZLOZENIU TYCH
PROGRAMIKOW "DO KUPY" PAMIEC NIE CHCE MI CHODZIC. ZEGAR URUCHAMIALEM
PIERWSZY I DZIALA NADAL POPRAWNIE.
CZY KTOS KIEDS MOZE URUCHAMIAL TE URZADZENIA RAZEM I POSIADA PRZYPADKIEM
PROCEDURY W ASSEMBLERZE NA AT89S8252? (TO JEST ZWYKLA '52).
ZA WSZELKA POMOC BEDE WDZIECZNY.


Caps Lock się zacina?

Owszem ktoś uruchamiał te dwa urządzenia razem.
Podstawowa różnica jest taka że adresując EEPROM musisz wysłać dwa bajty
adresu (starszy i młodszy bajt adresu), a adresując RTC tylko jeden.
Przykład:
parametr adrs tej procedury określa z którym układem chcemy gadać
gdy 1 - RTC, gdy 2 - EEPROM

void I2C_Set_Address(unsigned int address, int adrs)
{
char Uadd, Ladd;
MemClkLo;
P2DIR |= (MemClkBit | MemDataBit);

if (adrs == 2)
Uadd = (address & 0xFF00) >> 8; // adresujemy EEPROM (starszy bajt
wysylam
// tylko wtedy
gdy adrs = 2
Ladd = (address & 0x00FF); // mlodszy bajt adresu

I2C_Start; // reszta...
//Send control Byte
I2C_Send_Byte(MemContWrite);
//send two address bytes
if (adrs == 2)
I2C_Send_Byte(Uadd);
I2C_Send_Byte(Ladd);
}

Ciebie interesuje tylko kawałek od if(adrs == 2) do Ladd = (address &
0x00FF);

Aha, to nie jest na AT89S8252, tylko na procki rodziny MSP430 z TI.

Pozdrawiam



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Krzysztof Gawryś" <profrook_at_nospam_o2.pl>
Subject: Re: PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Date: Fri, 27 Aug 2004 10:37:27 +0200


void I2C_Set_Address(unsigned int address, int adrs)
{
char Uadd, Ladd;
MemClkLo;
P2DIR |= (MemClkBit | MemDataBit);

if (adrs == 2)
Uadd = (address & 0xFF00) >> 8; // adresujemy EEPROM (starszy bajt
wysylam
// tylko
wtedy
gdy adrs = 2
Ladd = (address & 0x00FF); // mlodszy bajt adresu

I2C_Start; // reszta...
//Send control Byte
I2C_Send_Byte(MemContWrite);
//send two address bytes
if (adrs == 2)
I2C_Send_Byte(Uadd);
I2C_Send_Byte(Ladd);
}

Ciebie interesuje tylko kawałek od if(adrs == 2) do Ladd = (address &
0x00FF);


Poprawka, Ciebie interesują także linijki:

if (adrs == 2)
I2C_Send_Byte(Uadd); // To tutaj wysyłam ten dodatkowy bajt adresu.
I2C_Send_Byte(Ladd);


Krzysiek



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.astercity.net!news.aster.pl!not-for-mai