RTV forum PL | NewsGroups PL

Jak poprawnie odczytać dane z tablicy PROGMEM w AVRGCC z użyciem wskaźników?

AVRGCC i wskaźniki

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak poprawnie odczytać dane z tablicy PROGMEM w AVRGCC z użyciem wskaźników?

AzaZeL
Guest

Wed Mar 01, 2006 10:33 am   



witam
mam problem
chce do procedury podac ardres w tablicy

uint8_t tablica[3] PROGMEM = {0x28,0xc6,0xd8};

void procedura(uint8_t *zmienna)
{
uint8_t cos;
cos=pgm_read_byte( co tu wpisac ? );
//do cos chce wpisac komórke np 0 z tablicy
}

int main(void)
{
procedura(&tablica);
}

juz kilka kombinacji zrobilem i niedziała

Pozdrawiam
AzaZeL

Krzysztof Szmurło
Guest

Wed Mar 01, 2006 10:42 am   



AzaZeL napisał(a):
Quote:
witam
mam problem
chce do procedury podac ardres w tablicy

uint8_t tablica[3] PROGMEM = {0x28,0xc6,0xd8};

void procedura(uint8_t *zmienna)
{
uint8_t cos;
cos=pgm_read_byte( co tu wpisac ? );
//do cos chce wpisac komórke np 0 z tablicy
}

int main(void)
{
procedura(&tablica);
}

juz kilka kombinacji zrobilem i niedziała

Pozdrawiam
AzaZeL

Nazwa tablicy jest jednocześnie adresem jej pierwszego elementu.
czyli powinieneś mieć:

procedura(tablica);

Krzysztof Szmurło

JJJK
Guest

Wed Mar 01, 2006 1:50 pm   



Quote:
Nazwa tablicy jest jednocześnie adresem jej pierwszego elementu.
czyli powinieneś mieć:
procedura(tablica);
A nie trzeba by jeszcze przekazac dlugosci tej tablicy ?


JJJK

JJJK
Guest

Wed Mar 01, 2006 1:52 pm   



JJJK <janusz_karas##@##poczta.onet.pl> napisał
Quote:
Nazwa tablicy jest jednocześnie adresem jej pierwszego elementu.
czyli powinieneś mieć:
procedura(tablica);
A nie trzeba by jeszcze przekazac dlugosci tej tablicy ?
JJJK

Heh, albo numeru elementu :)

JJJK

Krzysztof Szmurło
Guest

Wed Mar 01, 2006 1:57 pm   



JJJK napisał(a):
Quote:
JJJK <janusz_karas##@##poczta.onet.pl> napisał
Nazwa tablicy jest jednocześnie adresem jej pierwszego elementu.
czyli powinieneś mieć:
procedura(tablica);
A nie trzeba by jeszcze przekazac dlugosci tej tablicy ?
JJJK

Heh, albo numeru elementu :)

JJJK
No to wtedy już: procedura(&tablica[x]);


Krzysztof Szmurło

Pelos
Guest

Wed Mar 01, 2006 2:54 pm   



Użytkownik "AzaZeL" <AzaZeL_B@poczta.onet.pl> napisał w wiadomości
news:du3ta8$5ic$1@bgnet.pl...
Quote:
witam
mam problem
chce do procedury podac ardres w tablicy

uint8_t tablica[3] PROGMEM = {0x28,0xc6,0xd8};

void procedura(uint8_t *zmienna)
{
uint8_t cos;
cos=pgm_read_byte( co tu wpisac ? );
//do cos chce wpisac komórke np 0 z tablicy
}

int main(void)
{
procedura(&tablica);
}

juz kilka kombinacji zrobilem i niedziała


void procedura(uint8_t *zmienna)

a to nie powinno byc void procedura(PGM_P zmienna) czy jakos tak.
Nie pamietam teraz.
Takie specjalny pointer na mem flasza ?

--
Pelos
http://www.pelos.pl

Artur M. Piwko
Guest

Wed Mar 01, 2006 3:25 pm   



In the darkest hour on Wed, 1 Mar 2006 11:33:36 +0100,
AzaZeL <AzaZeL_B@poczta.onet.pl> screamed:
Quote:
mam problem
chce do procedury podac ardres w tablicy

uint8_t tablica[3] PROGMEM = {0x28,0xc6,0xd8};

void procedura(uint8_t *zmienna)
{
uint8_t cos;
cos=pgm_read_byte( co tu wpisac ? );
//do cos chce wpisac komórke np 0 z tablicy
}

int main(void)
{
procedura(&tablica);
}

juz kilka kombinacji zrobilem i niedziała


tablica - uint8_t *
&tablica - uint8_t **

--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:214B ]
[ 15:25:17 user up 10902 days, 3:20, 1 user, load average: 0.06, 0.06, 0.06 ]

I came; I saw; I fucked up.

Jurek Szczesiul
Guest

Wed Mar 01, 2006 7:21 pm   



Wed, 1 Mar 2006 11:33:36 +0100, na pl.misc.elektronika, AzaZeL napisał(a):

Quote:
juz kilka kombinacji zrobilem i niedziała

char Ftable[] PROGMEM = {0x10,0x20,0x30};

.......
char GetFChar (PGM_P ftabl, int index)
{
return pgm_read_byte(ftabl + index);
}
.......
a=GetFChar(Ftable,0);


--
Pozdrowienia
Jurek Szczesiul

Wojtek
Guest

Thu Mar 02, 2006 9:34 pm   



Krzysztof Szmurło wrote:
Quote:
JJJK napisał(a):

JJJK <janusz_karas##@##poczta.onet.pl> napisał

Nazwa tablicy jest jednocześnie adresem jej pierwszego elementu.
czyli powinieneś mieć:
procedura(tablica);

A nie trzeba by jeszcze przekazac dlugosci tej tablicy ?
JJJK

Heh, albo numeru elementu :)

JJJK

No to wtedy już: procedura(&tablica[x]);

Krzysztof Szmurło

procedura(tablica+x)

ładniejsze :)

wojtek

Artur M. Piwko
Guest

Fri Mar 03, 2006 4:40 pm   



In the darkest hour on Thu, 02 Mar 2006 22:34:10 +0100,
Wojtek <adun_wywalto_@o2.pl> screamed:
Quote:
Nazwa tablicy jest jednocześnie adresem jej pierwszego elementu.
czyli powinieneś mieć:
procedura(tablica);

A nie trzeba by jeszcze przekazac dlugosci tej tablicy ?

Heh, albo numeru elementu :)

No to wtedy już: procedura(&tablica[x]);

Krzysztof Szmurło

procedura(tablica+x)

ładniejsze :)


Bynajmniej.

--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:229B ]
[ 15:38:50 user up 10904 days, 3:33, 1 user, load average: 0.06, 0.06, 0.06 ]

As of next week, passwords will be entered in Morse code.

elektroda NewsGroups Forum Index - Elektronika Polska - Jak poprawnie odczytać dane z tablicy PROGMEM w AVRGCC z użyciem wskaźników?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map