-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "J.F." <j...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: [ARM] Obsługa peryferiów poprzez API (wskazniki do struktury)
Date: Sat, 26 May 2012 16:28:32 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 46
Message-ID: <y80629n75j0s$.1q2xhw0muf74c.dlg@40tude.net>
References: <f...@f...googlegroups.com>
NNTP-Posting-Host: h82-143-187-50-static.e-wro.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1338042500 12220 82.143.187.50 (26 May 2012 14:28:20 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sat, 26 May 2012 14:28:20 +0000 (UTC)
X-User: jjll
User-Agent: 40tude_Dialog/2.0.15.1pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:631957
[ ukryj 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
- Disk on Module, czym to odczytać?
- Pasta ochronna? Lutownicza?
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
Najnowsze wątki
- 2025-11-18 piękne wzruszyłem się
- 2025-11-17 SAFIJAN twierdzi że przyrzeczenie sędziego można składać przed KOMINIARZEM ;-)
- 2025-11-17 Warszawa => International Freight Forwarder <=
- 2025-11-17 Białystok => Programista React ze znajomością C++ <=
- 2025-11-17 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-11-17 Warszawa => Spedytor Międzynarodowy <=
- 2025-11-17 Białystok => React Developer with knowledge of C++ <=
- 2025-11-17 Lublin => Delphi Programmer <=
- 2025-11-17 Skąd się bierze prawo?
- 2025-11-17 NOWY: 2025-11-16 IBM i Holocaust - komentarz.pdf
- 2025-11-16 PESEL i problemy
- 2025-11-16 Jak przywrócić motyw?
- 2025-11-16 policja ochrania
- 2025-11-16 Disk on Module, czym to odczytać?
- 2025-11-16 Disk on Module, czym to odczytać?




Prezenty pod choinkę z drugiej ręki? Polacy wciąż tradycjonalistami