Hui, wie liest du denn dann ein Datenblatt?
Der Cube generiert dir ein Projekt, das du z.B. in Keil oder einer anderen IDE weiterentwickeln kannst. Der Cube sammelt dir alle notwendigen Bibliotheken in deinem Projekt zusammen und stellt ein paar praktische Kleinigkeiten bereit. Außerdem generiert dir der Cube die ganze Hardware-Initialisierung. Während du beim AVR bloß das PIN- und das Datenrichtungsregister zu konfigurieren hast, so mußt du beim STM32 immerhin schon die Taktversorgung einstellen, wählen ob Pull-down- oder Pull-up-Wiederstände aktiviert oder der Pin als Push-Pull-Stufe konfiguriert werden soll, Alternativfunktion ja/nein, Eingang oder Ausgang, und für was das SPEED-Register war hab ich schon wieder vergessen.
Timer, UART, AD-Wandler usw. sind ähnlich umfangreicher als die Pendants auf dem AVR.
Und diesen ganzen Konfigurationsquatsch...den erledigt die Cube für sich. Die fertige main() in einem Cube-Projekt ruft am Anfang z.B. eine handvoll Funktionen auf, dann kommen zwei Kommentare worin steht:
//...User-Code...
Zwischen diesen Kommentaren kommt dann dein eigentliches Hauptprogramm. Deine konfigurierten Pins kannst du sofort als solche verwenden, konfigurieren mußt du da nix mehr. Gleiches gilt für Timer und den Rest.
Ach ja...bleib beim programmieren unbedingt in den Bereichen, die dir der Cube mit den Kommentaren vorgibt (und lösche die Kommentare nicht). Dann kannst du die Konfiguration auch im Cube ändern, ohne daß dein eigentliches Programm angerührt wird.
Und willst du bestimmten Hardware-Komponenten einen eigenen Namen geben...auch kein Problem. Dann nennste PinA13 z.B. in PIN_LCD_En um oder so. Auch das fummelt der Cube dir zurecht...
Lesezeichen