PROSZE O POMOC. ZEGAR RTC (PCF8583) I EEPROM 24C32 NA JEDNEJ SZYNIE I2C
Masz problem? Zapytaj na forum elektroda.pl
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
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
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
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
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
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
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
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
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
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