Hallo, ST bietet neben ihrer eigenen HAL noch die low layer (LL) APIs an. Gibt es hier User, die die LL APIs gegenüber einem direkten Zugriff mit Hilfe der CMSIS bevorzugen? Aus welchen Gründen wird die jeweilige Wahl bevorzugt?
Sieht mir auf den ersten Blick ähnlich wie die SPL aus. Im Unterschied zum direkten Registerzugriff, finden wohl minimale Checks der Übergabeparameter statt: "Like HAL drivers, LL initialization functions implement run-time failure detection by checking the input values of all LL driver functions." (gilt allerdings nicht für die Inline-Funktionen) Außerdem sieht der Regsiterzugriff durch die Funktionen etwas schicker aus :-) PS: Aber programmiert habe ich damit bisher noch nicht.
:
Bearbeitet durch User
Hallo Hans, Ich benutze die LL bei GPIO, Weil Es da Keine CMSIS Funktionen existieren. Die HAL liefert auch Kein ReadPort ... Die meisten HAL Funktionen haben auch eine Menge boilerplate Code. Wenn ich zB mehrfach Im Programm spi write mache, muss ich ja nicht jedesmal alles durchtesten. Dafür gibt Es noch keine LL . ..... Hth Adib.
Na ja, die Libraries von ST lassen insgesamt echt zu wünschen übrig. Ich gucke mir meistens an wie sie was gelöst haben und implementiere es dann selber. Vorzugsweise als Mix aus C und Assembler.
Ich mache alles mit LL API weil sie mich in der Handhabung an die bisher verwendete API (Stellarisware) erinnert. Und, mit dem CubeMX Code Generator wollte ich mich bis jetzt nicht anfreunden. Allerdings sind viele Beispiele von STM für die LL API nicht verfügbar. Sie wird wohl über kurz oder lang sterben.
StinkyWinky schrieb: > Allerdings sind viele Beispiele von STM für die LL API nicht verfügbar. > Sie wird wohl über kurz oder lang sterben. ST bietet für jedes Peripheral, außer komplexe wie USB, mindestens ein LL API Beispiel.
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.