-
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
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
- Co oni mierzą miernikiem
- 40 lat OrCAD-a
- Multimetr z bluetooth
- Ciekawa mapka z BTS-ami
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
- test stereo
- Bluetooth stereo
- W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- Weryfikacja myjki ultradźwiękowej
- zasieg radaru
Najnowsze wątki
- 2025-10-16 Warszawa => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-10-16 Poznań => SAP HCR Consultant <=
- 2025-10-16 Warszawa => Junior Rekruter <=
- 2025-10-15 Z podwórka Roberta:(
- 2025-10-15 BNP Paribas likwiduje rachunki GOoptima
- 2025-10-15 "[...] w Łodzi kot Krzyś otrzymał zakaz przebywania w budynku [prokuratury - przyp. JMJ] [...] zwierzę podrapało jedną z prokuratorek."
- 2025-10-15 Zwłoki mężczyzny w łóżku wikarego. Biskup reaguje na tragedię
- 2025-10-15 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-10-15 nie klam w sieci
- 2025-10-15 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-10-15 Warszawa => C Programmer <=
- 2025-10-15 Zakrzewo => SAP HCM Consultant <=
- 2025-10-15 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-10-15 Warszawa => IT Recruiter <=
- 2025-10-15 Rzeszów => Spedytor Międzynarodowy <=