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-30 09:24:03
    Temat: Re: Obsługa peryferiów poprzez API (wskazniki do struktury)
    Od: "Artur M. Piwko" <m...@b...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    In the darkest hour on Mon, 28 May 2012 11:14:04 -0700 (PDT),
    slawek7 <s...@w...pl> screamed:
    >> Jeżeli zrobisz podobną operację, ale w postaci:
    >> (*(uint8_t*)0x40010C10)=0x0f;
    >> to pod ten sam adres zapiszesz tylko pojedynczy bajt, pozostawiając
    >> pozostałe trzy bajty 32-bitowego słowa zapisanego pod adresem 0x40010C10
    >> bez zmian.
    >
    > Chyba rozumiem. Bo czy to znaczy że jeśli jakiś rejestr 32 bitowy ma
    > możliwość zapisania go wartością 16 bitowa bo tak podaje dokumentacja
    > to chcąc dokonać takiego zapisu liczbą 16 bitową używam rzutowania 16
    > bitowego w postaci (*(uint16_t*)0x40010C10)=0x1234;
    > Natomiast jeśli rejestr musi byc zapisany tylko wartością 32 bitowa bo
    > tak każe dokumentacja to u zywam (*(uint32_t*)0x40010C10)=0x12345678;
    >
    > Ale mam wątpliwość, czy czasem to rzutowanie nie oznacza tylko
    > arytmetyki wskaźników? Tzn za następny wskazywany obszar bęzie większy
    > albo o 2 bajty albo o 4, jak w przypadku zwykłej arytmetyki wskaźników

    Nie ma tu arytmetyki sensu strice.

    > np
    > uint16_t *ptr; // wskaźnik na liczbę 16 bitową
    > teraz zwiększamy adres o jeden ptr++; czyli tak naprawdę wskaźnik
    > skacze o dwa a nie o jeden adres?

    Wskaźnik skoczy o jeden adres zawsze (ale o 2 bajty).

    --
    [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:229B ]
    [ 09:22:16 user up 13184 days, 21:17, 1 user, load average: 0.98, 0.10, 0.45 ]

    Would you rather have a 5-inch hard or an 8-inch floppy?

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: