Das STM32F100 Discovery

Das STM32F100 VL Discovery ist wohl das dienstälteste seiner Art. Auch der STM32F100 Controller gehört zu den ersten ARM Implementationen von ST. Vielleicht ist der F100 gerade deshalb für Anfänger gar nicht mal so eine schlechte Wahl.

Eigenschaften:

  • STM32F100RB Cortex M3 32-Bit ARM Mikrocontroller im 64-pin Gehäuse
    • 128K FLASH
    • 8K RAM
    • 24 MHz
  • On-Board ST-Link V1 mit SWD
  • Spannungsversorgung über USB
  • Zwei Benutzer LEDs (grün und blau)
  • Eine Benutzertaste

Beschaffung: STM32 Discovery im myMCU Shop

Schnelleinstieg mit dem STM32F100 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 STM32L100 Discovery 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     : Blinky Beispiel mit dem STM32F100 VL Discovery
//----------------------------------------------------------------------
// Funktion  : lässt eine LED blinken
// Schaltung : LED an PC9
//----------------------------------------------------------------------
// Hardware  : STM32F100RB
// Takt      : 24 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_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
 
	/* Konfiguriere GPIO Port D15 */
	GPIO_InitTypeDef  GPIO_InitStructure;
	GPIO_StructInit (&GPIO_InitStructure);
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_9;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
}
int main(void)
{
	SystemInit();
	initApplication();
	do{
		GPIO_SetBits(GPIOC,GPIO_Pin_9);
		waitMs(300);
		GPIO_ResetBits(GPIOC,GPIO_Pin_9);
		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