Die STM32 F4 Serie wird durch die STM32F401er Controller in Richtung Low-Power-Application ergänzt. Das STM32F401-Discovery bietet gute Unterstützung bei dem Kennenlernen dieser Cortex M4 Controller und der Entwicklung eigener Programme. Es ermöglicht sowohl Anfängern als auch Fortgeschrittenen eine schnelle Einarbeitung in die ARM Technologie.
Das STM32F401-Discovery nutzt den ARM Cortex M4 Controller STM32F401VCT6 und beinhaltet eingebettet ST-Link/V2 zum Programmieren und Debuggen. Mit dem integrierten MEMS-Sensoren lassen sich Lageänderungen des Boards mittels verschiedenfarbiger LEDs veranschaulichen. Das Board verfügt über 2 Mini USB-Anschlüsse.
Eigenschaften:
Beschaffung: ARM Produktlinie im myMCU Shop
//---------------------------------------------------------------------- // Titel : Grundgerüst einer einfachen ARM C Anwendung in SiSy //---------------------------------------------------------------------- // Funktion : ... // Schaltung : ... //---------------------------------------------------------------------- // Hardware : STM32F401Discovery // MCU : STM32F401VCT6 // Takt : 84 MHz // Sprache : ARM C // Datum : ... // Version : ... // Autor : ... //---------------------------------------------------------------------- #include <stddef.h> #include <stdlib.h> #include "hardware.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 SysTick_Handler(void) { // Application SysTick }
…
//---------------------------------------------------------------------- // Titel : Einfache digitale Ausgabe mit dem STM32F401-Discovery //---------------------------------------------------------------------- // Funktion : schaltet die blaue LED an und lässt die rote LED toggeln // Schaltung : blaue LED an GPIO Port D15 rote LED an PD14 //---------------------------------------------------------------------- // Hardware : STM32F401Discovery // MCU : STM32F401VCT6 // Takt : 84 MHz // Sprache : ARM C // Datum : 04.04.2014 // Version : 1.0 // Autor : Alexander Huwaldt //---------------------------------------------------------------------- #include <stddef.h> #include <stdlib.h> #include "hardware.h" void initApplication() { SysTick_Config(SystemCoreClock/100); // weitere Initialisierungen durchführen /* GPIOD Takt einschalten */ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); /* Konfiguriere GPIO Port D15 */ GPIO_InitTypeDef GPIO_InitStructure; GPIO_StructInit (&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOD, &GPIO_InitStructure); } int main(void) { SystemInit(); initApplication(); do{ GPIO_ToggleBits(GPIOD,GPIO_Pin_15); waitMs(300); } while (true); return 0; } extern "C" void SysTick_Handler(void) { // Application SysTick default 10ms } //------------------------------------------------------------------------------
Die Programme sind getestet und können sofort übersetzt (kompilieren, linken) und in den Programmspeicher des Controllers übertragen werden (brennen).
Weitere Beispiele erhalten sie aus dem SiSy-Libstore.