Witam,
1.Po pierwsze zdefiniuj Napis jako wskaźnik na element typu char:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
2. Do elementów umieszczonych we flash-u możesz "się dobrać" za pomocą funkcji pgm_read_word(...) itd., ale one zwracają
wartość elementu spod danego adresu, więc nie możesz tak po prostu pozyskać adresu Twojej tablicy Napis2. Musisz więc stworzyć dodatkową
tablicę wskaźników do tablic ze stringami do wyświetlania. Czyli mamy tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i teraz tworzymy wspomnianą tablicę wskaźników na te tablice:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i teraz już jest "z górki" wystarczy, za pomocą pgm_read_word pozyskać element: Napis2, ew Napis3 itd:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I teraz, kompilator, w swej niezmierzonej mądrości napisze nam przy kompilacji: warning: assignment makes pointer from integer without a cast [enabled by default]
![Smutny :-(](https://forum.atnel.pl/images/smilies/icon_e_sad.gif)
((((.
Ale przecież, my jesteśmy mądrzejsi od kompilatora
![Puszcza oko ;-)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
, wiemy, że to co pozyskaliśmy, to na pewno wskaźnik do tablicy Napis2, więc wystarczy rzutowanie:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i wreszcie mamy spokój. Ufff... dlatego, między innymi wolę ARM
![Puszcza oko ;-)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
.
Pozdrawiam serdecznie, QuadMan.
P.S. Sorry za formatowanie, coś się rozjechało.