-
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?
Następne wpisy z tego wątku
- 30.05.12 09:21 Artur M. Piwko
- 30.05.12 10:41 RoMan Mandziejewicz
- 31.05.12 22:34 Grzegorz Niemirowski
Najnowsze wątki z tej grupy
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
Najnowsze wątki
- 2025-03-30 Prawo w praktyce :-)
- 2025-03-30 Tak się walczy z imigracją
- 2025-03-30 Malutkie łożysko ślizgowe i olej
- 2025-03-30 dzicz
- 2025-03-30 RCD wybija
- 2025-03-30 konto w kraju trzecim
- 2025-03-29 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-29 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-03-29 Łożysko ślizgowe - jaki olej
- 2025-03-29 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-29 Warszawa => NMS System Administrator <=
- 2025-03-29 Warszawa => Laravel PHP Developer <=
- 2025-03-29 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-29 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-03-29 Warszawa => Specjalista rekrutacji IT <=