logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATMEGA32][C] Tablice funkcyjne - wymysł prowadzącego?

Aquater 11 Gru 2018 19:11 498 8
REKLAMA
  • #1 17620317
    Aquater
    Poziom 6  
    Witam,
    Na ostatnich laboratoriach z mC dostaliśmy pojęcia do opracowania na następne zajęcia i wśród nich pojawiły się tablice funkcyjne. Szukałem już informacji na ten temat w google i w książkach które mamy przewidziane do zajęć jednakże nigdzie nie znalazłem o tym żadnej informacji. Zatem czy ktoś może wie o co chodziło panu Doktorowi? Może jest to pojęcie używane dawniej i wyparte przez jakiś nowoczesny odpowiednik?
  • REKLAMA
  • #2 17620337
    Freddie Chopin
    Specjalista - Mikrokontrolery
    A nie będzie to po prostu coś na styl:

    void f1(void)
    {
    	
    }
    
    void f2(void)
    {
    	
    }
    
    void f3(void)
    {
    	
    }
    
    typedef void(*FunctionPointer)(void);
    FunctionPointer functionPointers[] = {f1, f2, f3};
    
    int main(void)
    {
        functionPointers[1]();
    };


    ?

    Innymi słowy - tablica wskaźników na funkcje.
  • REKLAMA
  • #4 17620352
    Aquater
    Poziom 6  
    LChucki napisał:
    Tablice funkcyjne, a nie tablica wskaźników do funkcji?

    Dokładnie powiedział tablice funkcyjne i też się dziwię, ale Dr. L nie słynie z tego że wyraża sie precyzyjnie chociaz od wszystkich innych tego wymaga
  • REKLAMA
  • #6 17620436
    Aquater
    Poziom 6  
    Ostatnio na laboratoriach mielismy programować wyświetlacze 7-segmentowe i używaliśmy pamięci programu do zapisywania tablicy kodów cyfr szesznastkowych a na koniec nam mowił, że w sumie to juz używaliśmy na tych zajęciach tablic funkcyjnych. Mogło mu chodzić własnie o te tablice?
  • #7 17620455
    rajszym
    Poziom 21  
    Link

    Tablica funkcyjna to struktura danych, która podobnie jak tablica imperatywna, pozwala na swobodny dostęp do swoich składowych (poprzez ich indeksy w tablicy).

    O to chodzi?
  • REKLAMA
  • Pomocny post
    #8 17620496
    tronics
    Poziom 38  
    Lookup tables. To nie żadne tablice funkcyjne.
    Innymi słowy można np. stablicować sinusa - po co liczyć na piechotę dziesiątki cykli jeśli można z dobrym przybliżeniem wyciągnąć z tablicy. Uwzględniając symetrię wystarczy stablicować wartości 0-90° co np. 10 ...
    Np. f_sin[]={0, .173, .342, .5, .642, .766, .866, .940, .985, 1}
    Mamy 10 wartości, z tego można zbudować prosto jak to będzie dla przedziału 90-180°, a później zmienić znak i 180-360°. Dla wartości pomiędzy (np. 45°) można zastosować interpolację liniową. Co oznacza, że sin(45) to (f_sin[4]+f_sin[5])/2 = 0.704; rzeczywista wartość sin(45) to 0.707 - błąd może być w określonych warunkach akceptowalny. W przypadku 7seg LUT zawierał zakodowane znaki przypisane do załączenia poszczególnych segmentów w zależności od danej cyfry ... czyli indeks tablicy to była cyfra, a element to była wartość wysyłana na port by ją wyświetlić.
  • #9 17620540
    Aquater
    Poziom 6  
    tronics napisał:
    Lookup tables. To nie żadne tablice funkcyjne.
    Innymi słowy można np. stablicować sinusa - po co liczyć na piechotę dziesiątki cykli jeśli można z dobrym przybliżeniem wyciągnąć z tablicy. Uwzględniając symetrię wystarczy stablicować wartości 0-90° co np. 10 ...
    Np. f_sin[]={0, .173, .342, .5, .642, .766, .866, .940, .985, 1}
    Mamy 10 wartości, z tego można zbudować prosto jak to będzie dla przedziału 90-180°, a później zmienić znak i 180-360°. Dla wartości pomiędzy (np. 45°) można zastosować interpolację liniową. Co oznacza, że sin(45) to (f_sin[4]+f_sin[5])/2 = 0.704; rzeczywista wartość sin(45) to 0.707 - błąd może być w określonych warunkach akceptowalny. W przypadku 7seg LUT zawierał zakodowane znaki przypisane do załączenia poszczególnych segmentów w zależności od danej cyfry ... czyli indeks tablicy to była cyfra, a element to była wartość wysyłana na port by ją wyświetlić.


    Hmm, to rzeczywiście ma sens, i zapewne właśnie o to chodziło, dziękuje bardzo
REKLAMA