Das STM32L100 Discovery

Das L im Namen ist hier Programm. Die STM32L-Serie umfasst die low power Ableger der STM32 Familie.

Eigenschaften:

  • ultra low power STM32L152RB/CT Cortex M3 32-Bit ARM Mikrocontroller im 64pin Gehäuse
    • 128/256K FLASH
    • 16/32K RAM
    • 4/8K EEPROM
  • On-board ST-LINK/V2 Debugger/Programmer mit SWD
  • Spannungsversorgung über USB
  • LCD Anzeige
  • vier LEDs
    • LED1 (rot/grün) USB-Kommunikation
    • LED2 (rot) Power
    • zwei Benutzer LEDs
      • LED3, grün
      • LED4, blau
  • zwei Taster
    • Reset, schwarz
    • Benutzertaster, blau
  • liniarer Berührungssensor bzw. vier Berührungsfelder

Beschaffung: STM32 Discovery im myMCU Shop

Schnelleinstieg mit dem STM32L100 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 mit dem STM32L152 Discovery
//----------------------------------------------------------------------
// Funktion  : blaue LED blinkt
// Schaltung : LED an PB6
//----------------------------------------------------------------------
// Hardware  : STM32L152RBT6
// Takt      : 32 MHz
// Sprache   : ARM C
// Datum     : 07.04.2014
// Version   : 1
// 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_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
 
	/* Konfiguriere GPIO Port D15 */
	GPIO_InitTypeDef  GPIO_InitStructure;
	GPIO_StructInit (&GPIO_InitStructure);
	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(GPIOB, &GPIO_InitStructure);
}
int main(void)
{
	SystemInit();
	initApplication();
	do{
		GPIO_SetBits(GPIOB,GPIO_Pin_6);
		waitMs(300);
		GPIO_ResetBits(GPIOB,GPIO_Pin_6);
		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