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.
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.
Wolfram L. schrieb: > in HAL Layer HAL Layer ist wie ein weisser Schimmel oder ein LCD Display oder .... If you know what I mean.
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
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) |
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.