-
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
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
Najnowsze wątki
- 2026-01-14 Do Kongresu SZAP/USONA Złożono Proj. ,,Ustawy o aneksji i statusie stanowym Grenlandii"
- 2026-01-13 STREFA CZYSTEGO TRANSPORTU. O tym nie mówią nam WŁADZE
- 2026-01-13 To nie koniec
- 2026-01-13 Warszawa => Recruiter 360 <=
- 2026-01-13 Katowice => Key Account Manager <=
- 2026-01-13 Warszawa => Senior Backend Java Developer <=
- 2026-01-13 Wrocław => ERP Implementation Consultant <=
- 2026-01-13 Elektryk a otwieranie drzwi :-)
- 2026-01-12 Schemat automatyki
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.
- 2026-01-12 Teoretyczne zagadnienie - ogrzewanie budynku
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]