Forum: Compiler & IDEs STM32 - GPIO_ReadInputData in HAL Layer


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Wolfram L. (amazon)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,
ich verwende recht häufig eine Funktion : GPIO_ReadInputData(GPIOC) um 
einen kompletten Port einzulesen. Habe jetzt eine Projekt versuchweise 
im HAL Layer programmiert - geht auch ganz gut - aber ich finde IM HAL 
keine äquivalente API Call, nur read und write pin : HAL_GPIO_ReadPin, 
HAL_GPIO_WritePin.

von pegel (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Ich bin auch ein Freund von HAL.

Aber in diesem Fall tun es die Register Zugriffe.

Z.B.
GPIOx->ODR=x;
x=GPIOx->IDR;
u.a.

Am Ende laufen auch die HAL Funktionen auf das Gleiche hinaus.
Zu dem lassen sich alle Möglichkeiten gemeinsam benutzen.

von Murmeltier Seher (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Wolfram L. schrieb:
> in HAL Layer

HAL Layer ist wie ein weisser Schimmel oder ein LCD Display oder ....

If you know what I mean.

von Amazon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
pegel schrieb:
> Ich bin auch ein Freund von HAL.

Ja - das weiß ich noch nicht genau ob ich ein Freund von HAL bin, aber 
zumindest kriegt man zu jedem Zeitpunkt einen grafischen Überblick über 
die Pinbelegung und clock Struktur..das hilft manchmal wirklich sehr

von Vincent H. (vinci)


Bewertung
0 lesenswert
nicht lesenswert
Theoretisch sollten auch bei HAL-Nutzung die "LL"-Varianten der 
Bibliothek zur Verfügung stehen, zumindest wenn man die entsprechenden 
Macros dafür definiert (USE_FULL_LL_DRIVER).

Für STM32F4CubeMX gäbe es dann etwa im Header stm32f4xx_ll_gpio.h 
folgende Funktion
__STATIC_INLINE uint32_t LL_GPIO_ReadInputPort(GPIO_TypeDef *GPIOx)

von pegel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vincent H. schrieb:
> folgende Funktion
> __STATIC_INLINE uint32_t LL_GPIO_ReadInputPort(GPIO_TypeDef *GPIOx)

Und die enthält genau das oben genannte
GPIOx->IDR

von Amazon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vincent H. schrieb:
> USE_FULL_LL_DRIVER

Wie macht man das ?

von pegel (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So.

von Amazon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ahh -vielen Dank !

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.