Action disabled: revisions

Das STM32F401 Discovery

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:

  • Mikrocontroller STM32F401VCT6 im LQFP100 Gehäuse mit
    • 32 Bit ARM Cortex-M4 Kern
    • 256 KByte Flash
    • 64 KByte RAM
    • L3GD20, ST MEMS motion sensor, 3-axis digital output gyroscope.
    • LSM303DLHC, ST MEMS 3D digital linear acceleration sensor und 3D digital magnetic sensor
  • 8 LEDs
    • 3 für USB Kommunikation
    • 1 Power-LED für 3,3 V
    • 4 durch den Anwender nutzbare LEDs
  • 2 Taster
    • 1 für Reset
    • 1 frei verfügbar für den Anwender
  • ST-Link V2 Programmer onboard

Beschaffung: ARM Produktlinie im myMCU Shop

Schnelleinstieg mit dem STM32F401 Discovery

  1. SiSy starten
  2. neues Projekt anlegen, Profil ARM Vorgehensmodell auswählen
  3. keine Vorlage aus dem Libstore wählen
  4. kleines Programm anlegen, Zielsprache ARM C++, Ziel Hardware STM32F401 Discovery mit JLink V2
  5. Grundgerüst laden
//----------------------------------------------------------------------
// 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
}
//------------------------------------------------------------------------------

Übersetzen, übertragen und testen

Die Programme sind getestet und können sofort übersetzt (kompilieren, linken) und in den Programmspeicher des Controllers übertragen werden (brennen).

Weitere Beispiele

Weitere Beispiele erhalten sie aus dem SiSy-Libstore.

Videozusammenfassung

Weitere Hinweise