Das STM32F401 Nucleo

Das STM32F401 Nucleo ist die derzeit Leistungsfähigste Variante aus der arduinokompatiblen Nucleo-Familie von ST.

nucleo401.jpg Eigenschaften:

  • STM32F401 Cortex M4 32-Bit ARM Mikrocontroller im LQFP64 Gehäuse
    • 256K FLASH
    • 96K SRAM
    • 84 MHz
  • Arduino Uno Revision 3 kompatible Steckverbinder
  • On-board ST-LINK/V2-1 Debugger/Programmer mit SWD
  • Flexible Spannungsversorgung üver USB oder externe (3.3 V, 5 V, 7 - 12 V)
  • drei LEDs
    • USB Kommunikation (LD1),
    • Benutzer LED (LD2),
    • Power LED (LD3)
  • zwei Taster
    • Benutzertaster
    • RESET
  • USB Virtual Com Port Unterstützung

Beschaffung: STM32 Discovery im myMCU Shop

Schnelleinstieg mit dem STM32F401 Nucleo

  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 Nucleo mit JLink
  5. Grundgerüst laden
//----------------------------------------------------------------------
// Titel     : Grundgerüst einer einfachen ARM C Anwendung in SiSy
//----------------------------------------------------------------------
// Funktion  : ...
// Schaltung : ...
//----------------------------------------------------------------------
// Hardware  : ...
// MCU       : ...
// Takt      : ...
// Sprache   : ...
// 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 SysTickFunction(void)
{
	// Application SysTick
}

Blinky

//----------------------------------------------------------------------
// Titel     : Einfache digitale Ausgabe mit dem STM32F401 Nucleo
//----------------------------------------------------------------------
// Funktion  : lässt die User-LED toggeln
// Schaltung : LED an GPIO Port A5 
//----------------------------------------------------------------------
// Hardware  : STM32F401Nucleo
// MCU       : STM32F401RET6U
// 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 LED */
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);	
 
	/* Konfiguriere GPIO Port A5 LED*/
	GPIO_InitTypeDef  GPIO_InitStructure;
	GPIO_StructInit (&GPIO_InitStructure);
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_5;
	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(GPIOA, &GPIO_InitStructure);	
}
 
int main(void)
{
	SystemInit();
	initApplication();
	do{
		GPIO_ToggleBits(GPIOA,GPIO_Pin_5);
		waitMs(200);
	} while (true);
	return 0;
}
 
extern "C" void SysTick_Handler(void)
{
	// Application SysTick
}

Ü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