RTV forum PL | NewsGroups PL

Kopiowanie struktury z EEPROM do RAM w ACR GCC za pomocą eeprom_read_block i eeprom_write_block

ACR GCC pytanie

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Kopiowanie struktury z EEPROM do RAM w ACR GCC za pomocą eeprom_read_block i eeprom_write_block

Goto page 1, 2  Next

Paweł Kurzawa
Guest

Wed May 12, 2004 9:43 am   



Witam,
Czy komus udalo sie kiedykolwiek zrobic kopie struktury
w eepromie lub przekopiowac z eepromu do ramu ponizszymi instrukcjami??
"eeprom_read_block" i "eeprom_write_block"

--

--
Best regards
K@pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------

Wojtek
Guest

Wed May 12, 2004 9:52 am   



Użytkownik "Paweł Kurzawa" <groups@kpw.qs.pl> napisał w wiadomości news:c7sv7u$fkv$1@nemesis.news.tpi.pl...
Quote:
Witam,
Czy komus udalo sie kiedykolwiek zrobic kopie struktury
w eepromie lub przekopiowac z eepromu do ramu ponizszymi instrukcjami??
"eeprom_read_block" i "eeprom_write_block"

Bez problemów.

Wojtek

Milosz Skowyra
Guest

Wed May 12, 2004 10:08 am   



"Paweł Kurzawa" wrote:
Quote:

Witam,
Czy komus udalo sie kiedykolwiek zrobic kopie struktury
w eepromie lub przekopiowac z eepromu do ramu ponizszymi instrukcjami??
"eeprom_read_block" i "eeprom_write_block"

typedef struct
{
int adres[6];
unsigned char preheat[6];
unsigned char limit[6];
unsigned char character[6];
unsigned char nazwa[16] ;
}eeprom_set;

eeprom_set ustawienia;

if (eeprom_is_ready())
eeprom_read_block(&ustawienia,&eeust[setting_number],sizeof(ustawienia));

Jedno ale... jak eeprom nie ready to nie odczyta... Wink Wlasnie odkrylem
blad ;-)

--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek@fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|

Milosz Skowyra
Guest

Wed May 12, 2004 10:13 am   



Milosz Skowyra wrote:

Jedno ale, funkcje z prototypami w eeprom.h nie dzialaja w Mega169.

--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek@fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|

Paweł Kurzawa
Guest

Wed May 12, 2004 10:29 am   



Quote:
Bez problemów.
Jaki codem Ci sie to udalo???


W skrocie piszac mam tablice struktur jak ponizej jedna w RAM 2ga w
EEPROM'ie.
i ani czytanie ani zapis nie dziala why??? atmega128 ku formalnosci.

typedef struct {
Time_t Timer_on;
Time_t Timer_off;
u08 Socket_nr; //jaki przekaznik steruje ten timer
} Timer_t;

static Timer_t Timer [0x08];
static Timer_t Timer_eep [0x08] EEPROM_SECTION;

eeprom_read_block ( Timer, Timer_eep, sizeof ( Timer ) );

eeprom_write_block ( Timer_eep, Timer, sizeof ( Timer ) );

--

--
Best regards
K@pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------

Paweł Kurzawa
Guest

Wed May 12, 2004 10:51 am   



Quote:
if (eeprom_is_ready())
eeprom_read_block(&ustawienia,&eeust[setting_number],sizeof(ustawienia));

zagladalem do zrodla eeprom_read_block i eeprom_write_block i tam juz jest
zaimplementowane czekanie na gotowosc eepromu !!!!

p.s. mam podejrzenie mam ze read dziala poprawnie ale write juz nie !!



--

--
Best regards
K@pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------

Użytkownik "Milosz Skowyra" <mewashek@wp.pl> napisał w wiadomości
news:40A205C1.D5622622@wp.pl...
Quote:
"Paweł Kurzawa" wrote:

Witam,
Czy komus udalo sie kiedykolwiek zrobic kopie struktury
w eepromie lub przekopiowac z eepromu do ramu ponizszymi instrukcjami??
"eeprom_read_block" i "eeprom_write_block"

typedef struct
{
int adres[6];
unsigned char preheat[6];
unsigned char limit[6];
unsigned char character[6];
unsigned char nazwa[16] ;
}eeprom_set;

eeprom_set ustawienia;

if (eeprom_is_ready())
eeprom_read_block(&ustawienia,&eeust[setting_number],sizeof(ustawienia));

Jedno ale... jak eeprom nie ready to nie odczyta... Wink Wlasnie odkrylem
blad ;-)

--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek@fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|


Milosz Skowyra
Guest

Wed May 12, 2004 10:57 am   



"Paweł Kurzawa" wrote:
Quote:

if (eeprom_is_ready())
eeprom_read_block(&ustawienia,&eeust[setting_number],sizeof(ustawienia));
zagladalem do zrodla eeprom_read_block i eeprom_write_block i tam juz jest
zaimplementowane czekanie na gotowosc eepromu !!!!

Racja...

Quote:
p.s. mam podejrzenie mam ze read dziala poprawnie ale write juz nie !!

U mnie dziala poprawnie i zapis i odczyt.

--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek@fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|

Wojtek
Guest

Wed May 12, 2004 11:11 am   



Użytkownik "Paweł Kurzawa" <groups@kpw.qs.pl> napisał w wiadomości news:c7t1qv$ca$1@atlantis.news.tpi.pl...
Quote:
Bez problemów.
Jaki codem Ci sie to udalo???

W skrocie piszac mam tablice struktur jak ponizej jedna w RAM 2ga w
EEPROM'ie.
i ani czytanie ani zapis nie dziala why??? atmega128 ku formalnosci.


Najpierw sprawdź czy uda Ci się zapisać i odczytać int'a.
Wojtek

Paweł Kurzawa
Guest

Wed May 12, 2004 11:55 am   



Quote:
Najpierw sprawdź czy uda Ci się zapisać i odczytać int'a.
wiec napisalem szybko krotka procedurke zaladowalem flash i eeprom:


static unsigned int eeprom_var4 EEPROM_SECTION = 12345;
static unsigned int floatVar;

eeprom_read_block( &floatVar, &eeprom_var4, sizeof(eeprom_var4) );
rprintf ("%d %d", floatVar, sizeof(eeprom_var4) );

floatVar = 2123;
eeprom_write_block( &eeprom_var4, &floatVar, sizeof(floatVar) );

i tu moje zdziwienie !!!! odczyt dziala a zapis NIE !!! caly czas na lcd
widze 12345 i 2 (sizeof)
WHY ????

--

--
Best regards
K@pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------

Marcin Stanisz
Guest

Wed May 12, 2004 12:10 pm   



W artykule <c7t70p$cgl$1@nemesis.news.tpi.pl> Paweł Kurzawa napisal(a):
Quote:
eeprom_read_block( &floatVar, &eeprom_var4, sizeof(eeprom_var4) );
rprintf ("%d %d", floatVar, sizeof(eeprom_var4) );

floatVar = 2123;
eeprom_write_block( &eeprom_var4, &floatVar, sizeof(floatVar) );

A w size_of to wpisałeś nazwę zmiennej, a nie typ?

Marcin Stanisz
--

"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"

Paweł Kurzawa
Guest

Wed May 12, 2004 12:21 pm   



Quote:
A w size_of to wpisałeś nazwę zmiennej, a nie typ?
a co w tym dziwnego???


--

--
Best regards
K@pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------

J.F.
Guest

Wed May 12, 2004 12:24 pm   



On 12 May 2004 13:10:34 GMT, Marcin Stanisz wrote:
Quote:
W artykule <c7t70p$cgl$1@nemesis.news.tpi.pl> Paweł Kurzawa napisal(a):
eeprom_read_block( &floatVar, &eeprom_var4, sizeof(eeprom_var4) );
rprintf ("%d %d", floatVar, sizeof(eeprom_var4) );

floatVar = 2123;
eeprom_write_block( &eeprom_var4, &floatVar, sizeof(floatVar) );

A w size_of to wpisałeś nazwę zmiennej, a nie typ?

Mozna. A przy tablicach nawet nalezy.

J.

J.F.
Guest

Wed May 12, 2004 12:24 pm   



On Wed, 12 May 2004 14:55:53 +0200, Paweł Kurzawa wrote:
Quote:
eeprom_read_block( &floatVar, &eeprom_var4, sizeof(eeprom_var4) );
rprintf ("%d %d", floatVar, sizeof(eeprom_var4) );

floatVar = 2123;
eeprom_write_block( &eeprom_var4, &floatVar, sizeof(floatVar) );

i tu moje zdziwienie !!!! odczyt dziala a zapis NIE !!! caly czas na lcd
widze 12345 i 2 (sizeof)
WHY ????

A przy write musisz zamieniac adresy ?

void eeprom_read_block (void *buf, const void *addr, size_t n);
void eeprom_write_block (const void *buf, void *addr, size_t n);

na moj gust sprobuj

eeprom_write_block( &floatVar, &eeprom_var4, sizeof(floatVar) );

J.

Artur Lipowski
Guest

Wed May 12, 2004 12:56 pm   



Paweł Kurzawa wrote:
Quote:
Jaki codem Ci sie to udalo???
Z dobrze poinformowanego źródła wiem, że nie ma w tym cudów Cool


....
Quote:
eeprom_read_block ( Timer, Timer_eep, sizeof ( Timer ) );

eeprom_write_block ( Timer_eep, Timer, sizeof ( Timer ) );
....

Tak jak zauważył J.F. nie ma powodu, aby zamieniać zmienne w wywołaniu
funkcji. Zawsze na drugim miejscu jest adres do EEPROM-u.

Pozdrawiam,
--
Artur Lipowski

Paweł Kurzawa
Guest

Wed May 12, 2004 1:05 pm   



Quote:
Tak jak zauważył J.F. nie ma powodu, aby zamieniać zmienne w wywołaniu
funkcji. Zawsze na drugim miejscu jest adres do EEPROM-u.

dzieki wam wielkie, w zyciu bym nie wladl na to Smile)


--

--
Best regards
K@pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Kopiowanie struktury z EEPROM do RAM w ACR GCC za pomocą eeprom_read_block i eeprom_write_block

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map