-
Data: 2012-05-26 16:28:32
Temat: Re: [ARM] Obsługa peryferiów poprzez API (wskazniki do struktury)
Od: "J.F." <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Fri, 25 May 2012 22:56:32 -0700 (PDT), slawek7 napisał(a):
> Nie mogę dojść do tego jak to działa. W plikach jest taka definicja
> struktury:
> typedef struct
> {
> __IO uint32_t CRL;
> __IO uint32_t CRH;
> __IO uint32_t BRR;
> } GPIO_TypeDef;
>
> A potem coś takiego
> #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE)
>//GPIO_BASE to liczba
> Ale nie widze tutaj żadnej definicji zmiennej wskaźnikowej? Czyżby nie
> była ona potrzebna? To jak to działa?
Zapis
(costam *) liczba
mowi "skonwertuj 'liczba' na typ: wskaznik na 'costam'"
poniewaz wskaznik to adres liczbowy, czyli po prostu liczba, wiec poza
nielicznymi wyjatkami zadna konwersja nie musi byc wykonywana.
Ale ... takie wyrazenie jest dalej traktowane jak wskaznik na obiekt typu
"costam", wiec mozesz uzywac zwyczajnych dla wskaznikow konstrukcji, np
GPIOB->pole //to jest element struktury
*GPIOB.pole //to samo co wyzej
itd.
P.S. Uwaga na nawiasy, przy takich rozwinieciach przez preprocesor cuda
moga sie zdarzyc, ktos moglby napisac
#define GPIOB (GPIO_TypeDef *) GPIOB_BASE
a potem ktos inny
#define GPIOB_BASE GPIOB_BASE_1 + 0x80
....
GPIOB->BRR = 5
I nieszczescie gotowe.
Im wiecej nawiasow tym lepiej.
J.
Następne wpisy z tego wątku
- 26.05.12 17:09 slawek7
- 26.05.12 18:10 bartekltg
- 26.05.12 18:25 Portal
- 26.05.12 18:29 bartekltg
- 27.05.12 16:37 slawek7
- 27.05.12 16:37 slawek7
- 27.05.12 19:27 Portal
- 28.05.12 20:14 slawek7
- 28.05.12 20:14 slawek7
- 28.05.12 20:14 slawek7
- 28.05.12 20:13 slawek7
- 28.05.12 21:52 J.F.
- 28.05.12 22:33 Michoo
- 29.05.12 08:13 Portal
- 29.05.12 08:20 Portal
Najnowsze wątki z tej grupy
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
- Niby uziom ale nie
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
Najnowsze wątki
- 2025-04-24 Czy można ukarać za odebranie awiza z wezwaniem w terminie po terminie? [Sroka PO-sprawiedliwości v. Ziobro]
- 2025-04-24 Badanie techniczne tylko automatyczne, bo obiektywne
- 2025-04-24 3G-nadal działa
- 2025-04-24 Blady strach
- 2025-04-24 Kluczowy element życia społecznego
- 2025-04-24 Warszawa => Starszy Konsultant SAP FICO <=
- 2025-04-24 Warszawa => Presales Engineer IT <=
- 2025-04-24 Warszawa => Support Engineer <=
- 2025-04-24 Dęblin => Node.js / Fullstack Developer <=
- 2025-04-23 200 ton złota do odzyskania w Europie rocznie z elektrośmieci, wykorzystując darmową energię z domowych instalacji solarnych 100 TWh, która jest co roku utylizowana, przez odłaczanie domowych instalacji solarnych od sieci w południe.
- 2025-04-23 Wybory Prezydenckie 2025 https://www.facebook.com/groups/669309535598018
- 2025-04-23 Oto szczegółowe, formalne zasady głosowania przez pełnomocnika w wyborach prezydenckich w Polsce (maj 2025), zgodnie z obowiązującym Kodeksem wyborczym (Dz.U. 2023 poz. 2408, ze zm.): ? 1. Kto może głosować przez pełnomocnika? Głosowanie przez pełnomocnik
- 2025-04-23 Bitcoin BTC #1 $93,859.91 +2.75% (1d) Tesla $250.67 +5.33%
- 2025-04-23 Piaseczno => Key Account Manager IT <=
- 2025-04-23 Warszawa => Presales Engineer IT <=