Das STM32L152 Nucleo

Das STM32L152-Nucleo ist der Low-Power Vertreter in der Nucleo-Reihe von ST.

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-1 Debugger/Programmer mit SWD
  • Spannungsversorgung über USB
  • drei LEDs
    • LED1 (rot/grün) USB-Kommunikation
    • LD2 (grün) Benutzer LEDs
    • LED3 (rot) Power
  • zwei Taster
    • Reset, schwarz
    • Benutzertaster, blau
  • Arduino kompatibler Formfaktor

Beschaffung: STM32 Discovery im myMCU Shop

Schnelleinstieg mit dem STM32L152 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 STM32L152 Nucleo mit JLink
  5. Grundgerüst laden
//----------------------------------------------------------------------
// Titel     : Grundgerüst einer einfachen ARM C Anwendung in SiSy
//----------------------------------------------------------------------
// Funktion  : ...
// Schaltung : ...
//----------------------------------------------------------------------
// Hardware  : STM32L152-Nucleo
// MCU       : STM32L152RE
// Takt      : 32 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     : Blinky mit dem STM32L152RE Nucleo
//----------------------------------------------------------------------
// Funktion  : lässt eine LED blinken
// Schaltung : LED an PA5
//----------------------------------------------------------------------
// Hardware  : STM32L152Nucleo
// Takt      : 32 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_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
 
	/* Konfiguriere GPIO Port D15 */
	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_SetBits(GPIOA,GPIO_Pin_5);
		waitMs(300);
		GPIO_ResetBits(GPIOA,GPIO_Pin_5);
		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