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-28 22:33:03
    Temat: Re: Obsługa peryferiów poprzez API (wskazniki do struktury)
    Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 28.05.2012 20:14, slawek7 wrote:
    > 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
    > 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?
    Skacze o jeden sizeof(typ_wskazywany) - do tego jest arytmetyka wskaźników.

    Natomiast to czy użyjesz wskaźnika na uint32_t czy uint8_t wpłynie m.i.
    na to, że kompilator wtedy zadba o odpowiednie opakowanie niewyrównanego
    dostępu, czy wręcz (zależnie od zestawu instrukcji) z:
    *((uint8_t *)0x12)=1; zamieni na odpowiednią sekwencję load-modify-store
    tak, żeby nie popsuć pozostałych 3 bajtów.

    --
    Pozdrawiam
    Michoo

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: