Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
das_stm32f0_discovery [2017/04/05 14:16] huwaldt |
das_stm32f0_discovery [2019/02/04 14:10] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Das STM32F0 Discovery ====== | ||
- | Die STM32 F0 Serie vereint eine Kombination von Echtzeitfunktionen, low-power Operationen und erweiterter Architektur zum STM32 System. Das STM32F0-Discovery hilft Ihnen, die Funktionen des STM32F0 zu entdecken und eigene Anwendungen zu entwickeln. Das Discovery-Board ermöglicht sowohl Anfängern als auch Fortgeschrittenen eine schnelle Einarbeitung in die ARM Technologie. Dabei bieten frei verfügbare Beispielanwendungen auf www.st.com Unterstützung beim Start. | ||
- | Das STM32F0-Discovery nutzt den ARM Cortex M0 Controller STM32F051R8T6 und beinhaltet eingebettet ST-Link/V2 zum Programmieren und Debuggen. | ||
- | |||
- | **Eigenschaften:**{{ :stm32f0.png?200|}} | ||
- | * Mikrocontroller STM32F051R8T6 im LQFP64 Gehäuse mit | ||
- | * 32 Bit ARM Cortex-M0 Kern | ||
- | * 64 KByte Flash | ||
- | * 8 KByte RAM | ||
- | * 4 LEDs{{ :discovery-f0-plus_g.png?250|}} | ||
- | * 1 für USB Kommunikation | ||
- | * 1 Power-LED für 3,3 V | ||
- | * 2 für Ausgaben | ||
- | * 2 Taster | ||
- | * 1 für Reset | ||
- | * 1 frei verfügbar für den Anwender | ||
- | * ST-Linkk V2 Programmer onboard | ||
- | |||
- | Beschaffung: | ||
- | * [[http://shop.myavr.de/ARM-Produktlinie/STM32F0-Discovery.htm?sp=article.sp.php&artID=200080|das STM32F0 Discovery im Shop]] | ||
- | * [[http://shop.myavr.de/ARM-Produktlinie/mySTM32-Board-F0D,%20Bausatz.htm?sp=article.sp.php&artID=200098|das Zusatzboard für den STM32F0 im Shop]] | ||
- | * [[http://shop.myavr.de/ARM-Produktlinie/mySTM32%20F0%20Discovery%20PLUS.htm?sp=article.sp.php&artID=200099|oder beides im Bundle]] | ||
- | |||
- | ====== Schnelleinstieg mit dem STM32F0 Discovery ====== | ||
- | |||
- | - SiSy starten | ||
- | - neues Projekt anlegen, Profil ARM Vorgehensmodell auswählen | ||
- | - keine Vorlage aus dem Libstore wählen | ||
- | - kleines Programm anlegen, Zielsprache ARM C++, Ziel Hardware STM32F0 Discovery mit JLink | ||
- | - Grundgerüst laden | ||
- | |||
- | |||
- | >>><code c> | ||
- | //---------------------------------------------------------------------- | ||
- | // Titel : Grundgerüst einer einfachen ARM C Anwendung in SiSy | ||
- | //---------------------------------------------------------------------- | ||
- | // Funktion : ... | ||
- | // Schaltung : ... | ||
- | //---------------------------------------------------------------------- | ||
- | // Hardware : STM32F3 Discovery | ||
- | // MCU : STM32F051R8T6 | ||
- | // Takt : 48 MHz | ||
- | // Sprache : ARM C | ||
- | // Datum : ... | ||
- | // Version : ... | ||
- | // Autor : ... | ||
- | //---------------------------------------------------------------------- | ||
- | #include <stddef.h> | ||
- | #include <stdlib.h> | ||
- | #include "stm32f0xx.h" | ||
- | #include "mySTM32.h" | ||
- | |||
- | void initApplication() | ||
- | { | ||
- | SysTick_Config(SystemCoreClock/100); | ||
- | // weitere Initialisierungen durchführen | ||
- | } | ||
- | int main(void) | ||
- | { | ||
- | SystemInit(); | ||
- | initApplication(); | ||
- | do{ | ||
- | // Eingabe | ||
- | // Ausgabe | ||
- | // Verarbeitung | ||
- | } while (true); | ||
- | return 0; | ||
- | } | ||
- | extern "C" void SysTickFunction(void) | ||
- | { | ||
- | // Application SysTick | ||
- | } | ||
- | </code> | ||
- | |||
- | ====== Blinky ====== | ||
- | |||
- | >>><code c> | ||
- | //---------------------------------------------------------------------- | ||
- | // Titel : Einfache digitale Ausgabe mit dem STM32F0-Discovery | ||
- | //---------------------------------------------------------------------- | ||
- | // Funktion : lässt die grüne LED blinken | ||
- | // Schaltung : grüne LED an PC9 | ||
- | //---------------------------------------------------------------------- | ||
- | // Hardware : STM32F0 Discovery | ||
- | // MCU : STM32F051R8T6 | ||
- | // Takt : 48 MHz | ||
- | // Sprache : ARM C | ||
- | // Datum : 21.01.2013 | ||
- | // Version : 1 | ||
- | // Autor : Alexander Huwaldt | ||
- | //---------------------------------------------------------------------- | ||
- | #include <stddef.h> | ||
- | #include <stdlib.h> | ||
- | #include "stm32f0xx.h" | ||
- | #include "mySTM32.h" | ||
- | |||
- | #define LED3 (1<<9) | ||
- | GPIO_InitTypeDef GPIO_InitStructure; | ||
- | |||
- | void initApplication() | ||
- | { | ||
- | SysTick_Config(SystemCoreClock/100); | ||
- | // weitere Initialisierungen durchführen | ||
- | |||
- | /* LED Periph clock enable */ | ||
- | RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE); | ||
- | |||
- | /* Configure PD3 = red LED in output pushpull mode */ | ||
- | GPIO_InitStructure.GPIO_Pin = LED3; | ||
- | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; | ||
- | GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; | ||
- | GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3; | ||
- | GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; | ||
- | GPIO_Init(GPIOC, &GPIO_InitStructure); | ||
- | } | ||
- | |||
- | int main(void) | ||
- | { | ||
- | SystemInit(); | ||
- | initApplication(); | ||
- | do{ | ||
- | GPIO_SetBits(GPIOC,LED3); | ||
- | waitMs(100); | ||
- | GPIO_ResetBits(GPIOC,LED3); | ||
- | waitMs(100); | ||
- | } while (true); | ||
- | return 0; | ||
- | } | ||
- | |||
- | extern "C" void SysTick_Handler(void) | ||
- | { | ||
- | // Application SysTick | ||
- | } | ||
- | </code> | ||
- | |||
- | ====== Übersetzen, übertragen und testen ====== | ||
- | Die Programme sind getestet und können sofort übersetzt (kompilieren, linken) und in den Programmspeicher des Controllers übertragen werden (brennen). | ||
- | |||
- | >{{:uebersetzen.jpg?350|}} {{:brennen.jpg?350|}} | ||
- | |||
- | |||
- | ====== Weitere Beispiele ====== | ||
- | Weitere Beispiele erhalten sie aus dem [[http://www.sisy.de/index.php?id=6&_cmd=showPage&_para=searchLibList&searchTxtLib=Beispiele STM32|SiSy-Libstore]]. | ||
- | |||
- | >{{:beispielef0.png?700|}} | ||
- | |||
- | ====== Videozusammenfassung ====== | ||
- | |||
- | >>><html><iframe width="640" height="480" src="https://www.youtube.com/embed/84Y3jYLWYpo" frameborder="0" allowfullscreen></iframe></html> | ||
- | |||
- | ====== Weitere Hinweise ====== | ||
- | * [[Programmierung anderer Controller]] | ||
- | * [[http://www.sisy.de/index.php?id=6&_cmd=showPage&_para=searchLibList&searchTxtLib=STM32F0|der STM32F0 im SiSy-LibStore]] | ||
- | * [[http://shop.myavr.de/?sp=schulungen.sp.php|Seminarangebote]] | ||