-
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
- 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 (?)
- Taśma LED
Najnowsze wątki
- 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 <=
- 2025-04-23 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-04-23 Kraków => Business Development Manager - Network and Network Security
- 2025-04-23 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-04-23 Warszawa => NMS System Administrator <=
- 2025-04-23 Umorzenie