Das STM32F103 Nucleo

Der STM32F103 muss in den Bereich allgemeine Mikrocontroller (mainstream MCU/value line) eingeordnet werden. Damit positioniert sich das STM32F103 Nucleo zwischen den low power L1xx und den high performance F4xx.

Eigenschaften:

  • STM32F103 Cortex M3 32-Bit ARM Mikrocontroller im LQFP64 Gehäuse
    • 128K FLASH
    • 20K SRAM
    • 72 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 STM32F103 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 STM32F103 Nucleo mit JLink
  5. Grundgerüst laden
//----------------------------------------------------------------------
// Titel     : Grundgerüst einer einfachen ARM C Anwendung in SiSy
//----------------------------------------------------------------------
// Funktion  : ...
// Schaltung : ...
//----------------------------------------------------------------------
// Hardware  : STM32F103-Nucleo
// MCU       : STM23F103RBT6
// Takt      : 72 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 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  : STM32F103Nucleo
// MCU       : STM32103RBT6
// Takt      : 72 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_APB2PeriphClockCmd(RCC_APB2ENR_IOPAEN, ENABLE);	
 
	/* Konfiguriere GPIO Port A5 LED*/
	GPIO_InitTypeDef  GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_5;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);	
}
 
int main(void)
{
	SystemInit();
	initApplication();
	do{
 
		//GPIO_ToggleBits(GPIOA,GPIO_Pin_5);
		GPIO_SetBits(GPIOA,GPIO_Pin_5);
		waitMs(200);
		GPIO_ResetBits(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