Forum: Compiler & IDEs STM32 - GPIO_ReadInputData in HAL Layer


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 !

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.