CodeVision - EEPROM
Masz problem? Zapytaj na forum elektroda.pl
From: "Przemek" <cibor_at_nospam_zsem.waw.ids.pl>
Subject: CodeVision - EEPROM
Date: Tue, 19 Nov 2002 17:08:06 +0100
Jakos nie mam pomyslu na cos tego typu, moze to proste, wiec z gory sorka ze
zawracam glowe.
Chce miec zmienna w eeprom, np: eeprom int x; ma byc ich troszke, i funkcja
ktora by te wartosci modyfikowala, taki zapis ustawien.
Gdy inicjalizacja zmiennej globalnej wyglada tak eeprom int x = 0;
to jest ok, lecz to bez sensu gdyz po to robie to w eepromie aby zostaly
wartosci po odlaczeniu zasilania.
Moglby ktos powiedziec jak poprawnie uzywac zmiennych w eeprom?
Dziekuje i pozdrawiam. Przemek Ciborowski
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: CodeVision - EEPROM
Date: 19 Nov 2002 22:16:13 +0100
Moglby ktos powiedziec jak poprawnie uzywac zmiennych w eeprom?
On-line się nie da.
Trzeba zapisać zmienną w RAM, a nastepnie poprzez procedurę
przepisać ją do EEPROM.
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Marcin E. Hamerla <mehamerla_at_nospam_pro.onet.pl>
Subject: Re: CodeVision - EEPROM
Date: Tue, 19 Nov 2002 22:24:29 +0100
ziel napisal(a):
Moglby ktos powiedziec jak poprawnie uzywac zmiennych w eeprom?
On-line się nie da.
Trzeba zapisać zmienną w RAM, a nastepnie poprzez procedurę
przepisać ją do EEPROM.
A taka deklaracja zmiennej?:
eeprom BYTE fs;
--
Pozdrowienia, Marcin E. Hamerla
"Spiżowy król spoglądał z niesmakiem na zwożonych autokarami ludzi,
z ich pracowicie przygotowanymi kukłami, trumienkami, krzyżami,
szubienicami i innymi wiecowymi gadzetami."
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: CodeVision - EEPROM
Date: 19 Nov 2002 23:45:06 +0100
Behalf Of Marcin E. Hamerla
A taka deklaracja zmiennej?:
eeprom BYTE fs;
No i fajnie zmienna jest zadeklarowana :-)
Teraz tylko wystarczy dopisać :
Czy to jest EEPROM w procku, czy w układzie zewnętrznym?
Jaka magistrala - I2C, 1Wire, innna?
Czas potrzebny do zapisu, metoda weryfikacji zapisu.
Zakladam, że numer fizyczny komórki jest kontrolowany
przez kompilator i zarezerwuje odpowiednią ilość miejsca,
żeby zmienne nie zachodziły na siebie.
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: "Przemek" <cibor_at_nospam_zsem.waw.ids.pl>
Subject: Re: CodeVision - EEPROM
Date: Wed, 20 Nov 2002 17:20:01 +0100
On-line się nie da.
Trzeba zapisać zmienną w RAM, a nastepnie poprzez procedurę
przepisać ją do EEPROM.
Wielkie dzieki za pomoc.
eeprom int e_ala;
int z_ala;
void zapisz (void);
void odczytaj (void);
void main(void)
{
if (costam) zapisz();
if (costam) odczytaj();
}
// -- Funkcje --
void zapisz (void)
{
e_ala = 5;
return;
}
void odczytaj (void)
{
z_ala = e_ala;
return;
}
Przyklad programu, problem jest w tym, ze mam Warning: uninitialized EEPROM
Jak sie go pozbyc?
Pozdrawiam Przemek Ciborowski
PS. Dziekuje za wszystkie odpowiedzi.
From: Marcin Stanisz <mstanisz_at_nospam_poczta.onet.pl>
Subject: Re: CodeVision - EEPROM
Date: 20 Nov 2002 16:38:05 GMT
W artykule <argcnj$d3j$1_at_nospam_news.tpi.pl> Przemek napisal(a):
Przyklad programu, problem jest w tym, ze mam Warning: uninitialized
EEPROM
Jak sie go pozbyc?
Przemku - nie używam CV (choć mam go w wersji demo AVR zainstalowanego)
i posługując się helpem i przykładami dostałem takie oto wyniki:
1. Nie trzeba przepisywać z pamięci RAM, można bezpośrednio pisać (patrz
help -> Accessing the EEPROM).
2. żeby ostrzeżenie się nie pojawiało, albo zainicjuj zmienną (nadając jej
wartość początkową), albo użyj konstrukcji:
#pragma warn-
eeprom int zmienna;
#pragma warn+
Pozdrawiam
Marcin Stanisz
--
"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"
From: "Przemek" <cibor_at_nospam_zsem.waw.ids.pl>
Subject: Re: CodeVision - EEPROM
Date: Wed, 20 Nov 2002 17:53:21 +0100
dzieki:)
Z tym ze zmienne przechowuje w wartosci po to aby po wylaczeniu i ponownym
wlaczeniu urzadzenia byly one pamietane, wiec deklaracja jej z jakas
wartoscia nie ma sensu chyba... moge sie mylic oczywiscie.
Pozdrowionka Przemek.
From: Marcin Stanisz <mstanisz_at_nospam_poczta.onet.pl>
Subject: Re: CodeVision - EEPROM
Date: 20 Nov 2002 16:57:55 GMT
W artykule <argem3$qh4$1_at_nospam_news.tpi.pl> Przemek napisal(a):
Z tym ze zmienne przechowuje w wartosci po to aby po wylaczeniu i ponownym
wlaczeniu urzadzenia byly one pamietane, wiec deklaracja jej z jakas
wartoscia nie ma sensu chyba... moge sie mylic oczywiscie.
Ale tu się nie mylisz :-) Dlatego druga konstrukcja i już.
Marcin Stanisz
--
"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"
From: Marcin E. Hamerla <mehamerla_at_nospam_pro.onet.pl>
Subject: Re: CodeVision - EEPROM
Date: Thu, 21 Nov 2002 07:42:52 +0100
Przemek napisal(a):
Z tym ze zmienne przechowuje w wartosci po to aby po wylaczeniu i ponownym
wlaczeniu urzadzenia byly one pamietane, wiec deklaracja jej z jakas
wartoscia nie ma sensu chyba... moge sie mylic oczywiscie.
A Helpa chociaz otworzyles? Cytuje pierwsze linijki:
Accessing the AVR internal EEPROM is accomplished using global
variables, preceded by the keyword eeprom.
Example:
/* The value 1 is stored in the EEPROM during chip programming */
*********************
eeprom int alfa=1;
podkreslenie - MEH
--
Pozdrowienia, Marcin E. Hamerla
"Spiżowy król spoglądał z niesmakiem na zwożonych autokarami ludzi,
z ich pracowicie przygotowanymi kukłami, trumienkami, krzyżami,
szubienicami i innymi wiecowymi gadzetami."
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: CodeVision - EEPROM
Date: 20 Nov 2002 20:48:05 +0100
Wielkie dzieki za pomoc.
Ciekawe czemu sobie założyłem, ze to chodzi o pamięć zewnętrzną? :=(
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika