-
Data: 2012-05-26 12:49:01
Temat: Re: [ARM] Obsługa peryferiów poprzez API (wskazniki do struktury)
Od: Michał Lankosz <m...@t...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2012-05-26 07:56, slawek7 pisze:
> Cześć.
> Mamy np uC STM32. Dostęp do portów np ustawienie jakiegoś
> wyprowadzenia możemy zrobić albo korzystając z darowanych przez
> producenta bibliotek albo poprzez odwołania do rejestrów, jak np GPIOB-
>> BRR=0x0100;
>
> I właśnie chodzi mi o ten drugi sposób z użyciem wskaźnika. Czy
> dokonując zapisu GPIOB->BRR=.. operujemy na zmiennej wskaźnikowej?
> Inaczej mówiąc czy mamy zdefiniowaną zmienną *GPIOB?
> 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 IDR;
> __IO uint32_t ODR;
> __IO uint32_t BSRR;
> __IO uint32_t BRR;
> __IO uint32_t LCKR;
> } 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?
tutaj: (GPIO_TypeDef *)
W skrócie. GPIOB_BASE to adres bazowy (początkowy) rejestrów I/O portu
B. Rzutujemy tu wskaźnik na do struktury po kolei poukładanych rejestrów
I/O. Dzięki temu jedną strukturą GPIO_TypeDef możemy opisać tyle portów
ile ma dany procesor znając tylko ich adresy bazowe.
GPIOB jest więc wskaźnikiem do struktury.
Michał
Następne wpisy z tego wątku
- 26.05.12 13:59 slawek7
- 26.05.12 14:43 Portal
- 26.05.12 16:28 J.F.
- 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.
Najnowsze wątki z tej grupy
- 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
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
Najnowsze wątki
- 2025-03-20 Grubość socketa AM4+procesor
- 2025-03-20 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-20 Warszawa => Senior Programmer C <=
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-20 Greenpeace została zobowiązana do zapłaty niemal 667 mln dolarów [USA,wyrok sądu]
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?