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)


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)


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)


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)


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)


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
1
__STATIC_INLINE uint32_t LL_GPIO_ReadInputPort(GPIO_TypeDef *GPIOx)

von pegel (Gast)


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)


Lesenswert?

Vincent H. schrieb:
> USE_FULL_LL_DRIVER

Wie macht man das ?

von pegel (Gast)


Angehängte Dateien:

Lesenswert?

So.

von Amazon (Gast)


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]
  • [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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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