eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[ARM] Obsługa peryferiów poprzez API (wskazniki do struktury)Re: Obsługa peryferiów poprzez API (wskazniki do struktury)
  • Data: 2012-05-26 18:10:34
    Temat: Re: Obsługa peryferiów poprzez API (wskazniki do struktury)
    Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2012-05-26 17:09, slawek7 pisze:
    > W książce o ARMach AT91SAM7 znalazłem jeszcze coś takiego przy
    > deklaracji struktury:
    >
    > typedef struct s_TC
    > {
    > __IO uint32_t CONTROL_R;
    > __IO uint32_t MODE_R;
    > __IO uint32_t COUNTER_VALUE;
    > __IO uint32_t INT_STATUS;
    >
    > } S_TC, *PS_TC;
    >
    > Potem
    > #define TC0 ((PS_TC)0xFFFA0000)
    >
    > liczbę rzutujemy na wskaźnik, ale dlaczego bez gwiazdki?

    No włąśnie. Rzutujesz liczbę na wskażnik. TO samo robiłeś tu:

    #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE)

    GPIOB to rzut liczby GPIOB na _wskaźnik_ do typu GPIO_TypeDef.

    int a to liczba
    int * b to wskaźnik do liczby.

    GPIO_TypeDef A; to strukturka
    GPIO_TypeDef * bla; to skaźnik do strukturki.


    > Czy nie powinno być
    > #define TC0 ((*PS_TC)0xFFFA0000)

    Wtedy TC0 byłby wskaźnikeim do wskaźnika do struktury typu S_TC.

    pzdr
    bartekltg


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: