Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
light_grundstruktur [2019/12/15 17:38] – huwi | light_grundstruktur [2023/09/19 12:28] (aktuell) – huwi | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Grundstruktur in C für das mySTM32 Board Light ====== | ====== Grundstruktur in C für das mySTM32 Board Light ====== | ||
- | >< | + | Einfache embedded C Programme bestehen oft nur aus einer *.c Datei mit der folgenden typischen Struktur: |
+ | - Programmkopfdokumentation, | ||
+ | - Deklarationen meist mit Anweisungen zum Einfügen von Deklarationsdatein #include | ||
+ | - einem Bereich in dem bei Bedarf globale Variablen oder Konstanten angelegt werden können | ||
+ | - die eigenen Funktionen | ||
+ | - das Hauptprogramm | ||
+ | - Interrupt-Service-Routinen | ||
+ | |||
+ | |||
+ | >< | ||
// | // | ||
// Title : Basic main code pattern of a simple ARM C application in SiSy | // Title : Basic main code pattern of a simple ARM C application in SiSy | ||
Zeile 19: | Zeile 28: | ||
#include " | #include " | ||
+ | // -------------------------------------------------------------------- | ||
+ | // hier bei Bedarf globale Variablen definieren | ||
+ | |||
+ | // -------------------------------------------------------------------- | ||
+ | // ab hier eigene Funktionen die benötigt werden | ||
void initApplication() | void initApplication() | ||
{ | { | ||
Zeile 27: | Zeile 41: | ||
} | } | ||
+ | // -------------------------------------------------------------------- | ||
+ | // nach den Funktionen das eigentliche Hauptprogramm | ||
int main(void) | int main(void) | ||
{ | { | ||
Zeile 32: | Zeile 48: | ||
initApplication(); | initApplication(); | ||
do{ | do{ | ||
- | + | // main loop | |
- | // main loop | + | // hier kann die Anwendungslogik programmiert werden |
- | | + | // Eingabe -> Verarbeitung -> Ausgabe |
- | } while (true); | + | } while (true); |
return 0; | return 0; | ||
} | } | ||
+ | // -------------------------------------------------------------------- | ||
+ | // Interrupt-Behandlungs-Routinen können hier nach dem Hauptprogramm | ||
+ | // oder auch bei den Funktionen programmiert werden | ||
extern " | extern " | ||
{ | { | ||
Zeile 47: | Zeile 66: | ||
{{: | {{: | ||
+ | |||
+ | ====== Test ====== | ||
+ | An dieser Stelle wird im Tutorial jeweils das Testen der Anwendung beschrieben. Nutzen sie die Schaltflächen Kompilieren, | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ====== Videozusammenfassung ====== | ||
+ | Hier dieser Abschnitt als kleine Videozusammenfassung zum nochmal Drüberschauen. | ||
+ | |||
+ | >< | ||
+ | |||
+ | ====== Hinweise ====== | ||
+ | {{tag> | ||
+ | In den folgenden Abschnitten können Lösungen in drei Versionen angeboten werden: | ||
+ | - Realisierung mit den klassischen Standard Peripherie Treibern von ST | ||
+ | - Realisierung mit der STM32 HAL (" | ||
+ | - Realisierung mit der STM32 LL ("Low Level" | ||
+ | |||
+ | Beachten Sie jeweils die Compilereinstellungen und die verwendeten Includes. | ||
====== Weiter mit ====== | ====== Weiter mit ====== |