-
Data: 2009-04-21 20:07:30
Temat: Re: WinAvr tablica wskaźników funkcji jak?
Od: Zbych <a...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Zbych pisze:
> azazel pisze:
>
>> udało mi sie stworzyc taka tablice i wywoływanie po numerze z pamieci ram
>> ale nie wiem jak to umiescic w pamieci flash i uruchamiac procedury
>> majac tylko pozycje
> [...]
>> Może ktoś z szanownych grupowiczów wie
>> jak to umieścić i jak wywołac?
>
> Tablicę wskaźników do funkcji umieszczasz we flashu tak samo jak każdą
> inną stałą - dodając PROGMEM.
> http://www.nongnu.org/avr-libc/user-manual/group__av
r__pgmspace.html
>
> Wywoływanie jest trochę bardziej upierdliwe. Najpierw musisz obliczyć
> adres wskaźnika we flashu, potem podać adres do makra pgm_read_word i
> dopiero mając wskaźnik możesz użyć go do wywołania funkcji.
>
Tutaj masz przykład:
#include <avr/io.h>
#include <avr/pgmspace.h>
void a( void ){
PORTC = 0xFF;
}
void b( void ){
PORTC = 0x00;
}
typedef void (*fp)(void);
const PROGMEM fp Tab[]={&a,&b};
void main( void ){
((fp)pgm_read_word(&Tab[0]))();
((fp)pgm_read_word(&Tab[1]))();
}
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Ceny mieszkań stabilne a zdolność kredytowa rośnie. O ile nie masz dzieci