background image

Elektronika: ‘Podstawy techniki mikroprocesorowej’ - laboratorium

 

oprac. A. St

ę

pie

ń

 

strona 1/3 

 

Jak przenosi

ć

 programy z LPCXpresso1114 do STM32L053 Discovery 

LPCXpresso1114 

struktura projektu (i katalogów) 

ś

rodowisku 

µ

Vision 4.7x 

STM32L053 Discovery 

struktura projektu (i katalogów) 

ś

rodowisku 

µ

Vision 5.xx

 

Komentarz 

Device

startup_LPC11xx.s  
system_LPC11xx.c

  

Device

startup_stm32l053xx.s  
system_stm32l0xx.c

 

 
Ka

ż

dy moduł (mikrokontroler) ma własne pliki konfiguracyjne 

Source

7_main.c 

Source

7_main.c 

-  ten sam plik w obu rozwi

ą

zaniach, z takimi samymi nazwami funkcji i 

procedur  

-  doł

ą

czane te same pliki nagłówkowe z katalogu Include, z wyj

ą

tkiem 

pliku user_xxxx.h (

user_LPC1114.h

 lub 

user_STM32L053Disco.h

 

Library

GPIO.c  

Library

GPIO.c  

te same nazwy plików te same zadeklarowane funkcje procedury

,  

zawarto

ść

 plików dostosowana do cech ka

ż

dego z procesorów

-  wszystkie deklaracje funkcji i procedur w plikach nagłówkowych  

 

 

 

katalog Include

GPIO.h 
………………… 

user_LPC1114.h

 

katalog Include

GPIO.h 
…………………………… 

user_STM32L053Disco.h

 

-  w katalogu Include (zaznaczone w opcjach kompilatora C/C++) zawarte 

wszystkie konfiguracyjne pliki nagłówkowe,  

-  te same nazwy plików nagłówkowych (np. GPIO.h) i bibliotecznych (np. 

GPIO.c) ale pliki w ró

ż

nych katalogach,  

-  pliki user_xxxx.h zawieraj

ą

 deklaracje stosowanych układów 

peryferyjnych, np. numery portów, linii steruj

ą

cych diodami LED, linii 

odczytuj

ą

cej stan klawisza, generowanych sygnałów PWM itp.  

 

 

 

 
Stała

 cz

ę

stotliwo

ść

 taktowania 

rdzenia mikrokontrolera  
 

F

CORE

 = 48 MHz

 

 

Zmienna

 cz

ę

stotliwo

ść

 taktowania 

rdzenia mikrokontrolera  
 

F

CORE

 = zale

ż

na od aplikacji

 

W module STM32L053 Disco cz

ę

stotliwo

ść

 taktowania rdzenia F

CORE 

mo

ż

e by

ć

 ró

ż

na, zale

ż

na od aplikacji, np. w projekcie nr 7 mikrokontroler 

jest taktowany wewn

ę

trznym generatorem MSI (MultiSpeed Internal 

oscillator) o cz

ę

stotliwo

ś

ci F

MSI

 = 2,1 MHz (domy

ś

lna warto

ść

 po stanie 

RESET F

MSI

 

podzakres 5

 = 2,097 MHz)  

background image

Elektronika: ‘Podstawy techniki mikroprocesorowej’ - laboratorium

 

oprac. A. St

ę

pie

ń

 

strona 2/3 

 

 

Przykład sygnalizacji stanu przycisku/klawisza przez diod

ę

 LED 

LPCXpresso1114 

struktura projektu (i katalogów) 

ś

rodowisku 

µ

Vision 4.7x 

STM32L053 Discovery 

struktura projektu (i katalogów) 

ś

rodowisku 

µ

Vision 5.xx

 

Komentarz 

Device

startup_LPC11xx.s  
system_LPC11xx.c  

Device

startup_stm32l053xx.s  
system_stm32l0xx.c 

 
ka

ż

dy mikrokontroler (moduł) ma własne pliki konfiguracyjne 

Source:  Main.c 

#include  <

LPC11xx.h

>  

#include  "gpio.h"  
#include  "

user_LPC1114.h

Source:  Main.c 

#include  <

stm32l0xx.h

#include  "gpio.h" 
#include  "

user_STM32L053Disco.h

 

-  ró

ż

ne pliki nagłówkowe dla obu procesorów:  

LPC11xx.h 

lub

 

STM32L0xx.h

 

przykład obu plików user_xxxxxx.h na stronie 3  

int main (void)  { 

uint32_t  stan_klawisza;  

GPIOSetDir(PORT_LED, PIN_LED, PORT_MODE_OUT);  

GPIOSetDir(PORT_KLAWISZ, PIN_KLAWISZ, PORT_MODE_IN);  

GPIOSetValue(PORT_KLAWISZ, PIN_KLAWISZ, LED_ON);  

while(1)  { 
  stan_klawisza = GPIOReadValue(PORT_KLAWISZ, PIN_KLAWISZ); 
  if (stan_klawisza == KLAWISZ_OFF) {  
    GPIOSetValue(PORT_KLAWISZ, PIN_KLAWISZ, LED_OFF); 
  } else {  
    GPIOSetValue(PORT_KLAWISZ, PIN_KLAWISZ, LED_ON); 
  } 

 

-  ten sam plik w obu rozwi

ą

zaniach, z takimi samymi nazwami 

funkcji i procedur (podprogramów)  

-  doł

ą

czane te same pliki nagłówkowe z katalogu Include, z 

wyj

ą

tkiem pliku:  

 

user_LPC1114.h

 dla projektu z procesorem LPC1114  

 

user_STM32L053Disco

 dla modułu Discovery  

-  w pliku po lewej stronie pomini

ę

to wszystkie komentarze 

Library

GPIO.c  

Library

GPIO.c  

-  te same nazwy plików i te same zadeklarowane podprogramy,  

zawarto

ść

 plików dostosowana do ka

ż

dego procesora

-  wszystkie deklaracje podprogramów w plikach nagłówkowych  

background image

Elektronika: ‘Podstawy techniki mikroprocesorowej’ - laboratorium

 

oprac. A. St

ę

pie

ń

 

strona 3/3 

 

Przykład katalogu Include 

LPCXpresso1114 

struktura projektu (i katalogów) 

ś

rodowisku 

µ

Vision 4.7x 

STM32L053 Discovery 

struktura projektu (i katalogów) 

ś

rodowisku 

µ

Vision 5.xx

 

Komentarz 

katalog Include

GPIO.h 

user_LPC1114.h

 

katalog Include

GPIO.h 

user_STM32L053Disco.h

 

-  w katalogu Include (zaznaczone w opcjach kompilatora C/C++) 

zawarte wszystkie konfiguracyjne pliki nagłówkowe  

-  te 

same nazwy plików nagłówkowych

 (np. GPIO.h) i 

bibliotecznych

 (np. GPIO.c) ale pliki w ró

ż

nych katalogach,  

-  pliki user_xxxx.h zawieraj

ą

 deklaracje stosowanych układów 

peryferyjnych, np. numery portów, linii steruj

ą

cych diodami LED, 

linii odczytuj

ą

cej stan klawisza, generowanych sygnałów PWM 

itp.  

 

Przykład pliku

 

user_LPC1114.h

 oraz 

user_STM32L053Disco.h

 

user_LPC1114.h

 

user_STM32L053Disco.h 

Komentarz 

 

#define PORT_MODE_IN 

0  

#define PORT_MODE_OUT  

#define PORT_KLAWISZ 

0

 

#define PORT_LED  

0

 

#define PIN_KLAWISZ  

8

 

#define PIN_LED  

7

  

#define KLAWISZ_OFF 

1  

#define KLAWISZ_ON 

0  

#define LED_OFF 

0  

#define LED_ON  

1  

 

#define PORT_MODE_IN 

0  

#define PORT_MODE_OUT   1 

#define PORT_KLAWISZ 

PortA

 

#define PORT_LED  

PortA

 

#define PIN_KLAWISZ  

0

 

#define PIN_LED  

5

  

#define KLAWISZ_OFF 

1  

#define KLAWISZ_ON 

0  

#define LED_OFF 

0  

#define LED_ON  

1   

W module LPCXpresso1114: 

-  czerwona dioda LED (LED2) doł

ą

czona do linii PIO0_7, 

-  symulowany przycisk/klawisz doł

ą

czony do linii PIO0_8. 

http://www.embeddedartists.com/products/lpcxpresso/ 
lpc1114_xpr.php
 

 

W module STM32L053 Discovery: 

-  czerwona dioda LED (LD4) doł

ą

czona do linii PA5, 

-  przycisk/klawisz (User Button B1) doł

ą

czony do linii PA0. 

UM1775 User manual Discovery kit for STM32L0 series with 
STM32L053C8 MCU. STMicroelectronics, June 2014