Ich will dich jetzt nicht ärgern, aber du wirst noch merken, dass du bei
Problemen mit der HAL meistens ziemlich alleine da stehst.
Offensichtlich kennen sich einige Leute ganz gut mit der alten StdPeriph
(SPL) Library aus, aber nur wenige mit der HAL.
Ich habe sie nach kurzer Evaluierung ganz weit weg in die hinterste Ecke
meines Unterbewusstseins verbannt und programmiere lieber mit dem
Reference Manual auf Register-Ebene. Das ist etwas Zeitaufwändiger (mir
egal, da Hobby), dafür weiß ich wenigstens, was ich tue.
An meinem ersten Tag mit der HAL auf einem original STM Evaluation Board
hatte ich direkt ein Problem mit der Initialisierung des Taktgebers. Ich
bat STM um Hilfe, auf Antwort warte ich immer noch (nun fast 1 Jahr).
Inzwischen wurde es als Bug in der HAL behoben. Aber die Leute dort
halten es nicht einmal für angemessen, mich darauf hinzuweisen.
Qualität = sehr fragwürdig
Support = Null
Doku = Kacke (da ist sogar Arduino noch besser, und Arduino ist
schlimm).
Die HAL braucht kein Mensch. Sie vereinfacht auf den ersten Blick die
Programmierung, schafft damit aber eine große Menge neue Probleme, bei
denen Dir nur wenige Menschen kostenlos helfen können. Am schlimmsten
ist die Abhängigkeit, in die man sich bei der Benutzung der HAL begibt.
Du kannst danach nicht eben schnell auf ein anderes Framework wechseln
oder gar auf einen µC von einem anderen Hersteller. Genau das ist die
wahre Absicht hinter dem Framework (Kundenbindung auf Drogendealer-Art).
Wenn du mit der CMSIS-Core Programmierst, hast du diese Freiheiten aber.
Warum schreibe ich das: Ein bisschen weil ich ein ewiger Miesepeter bin
(zumindest heute). Aber hauptsächlich, weil ich dich animieren will,
lieber das Referenzhandbuch zu lesen anstatt das Manual zur HAL.