Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

das_stm32f030_nucleo [2014/04/13 13:28]
huwaldt
das_stm32f030_nucleo [2019/02/04 14:10]
Zeile 1: Zeile 1:
-====== Das STM32F030 Nucleo ====== 
-Das STM32F030 Nucleo ist die kleinste Variante aus der arduinokompatiblen Nucleo-Familie von ST. 
  
-**Eigenschaften:​** 
-  * STM32F030 Cortex M0 32-Bit ARM Mikrocontroller im LQFP64 Gehäuse 
-    * 64K FLASH {{ :​nucleo401.jpg?​300|}} 
-    * 8K SRAM 
-    * 48 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:​ [[http://​shop.myavr.de/​index.php?​sp=artlist_kat.sp.php&​katID=37|STM32 Discovery im myMCU Shop]] 
- 
-====== Schnelleinstieg mit dem STM32F030 Nucleo ====== 
- 
-  - SiSy starten 
-  - neues Projekt anlegen, Profil ARM Vorgehensmodell auswählen 
-  - keine Vorlage aus dem Libstore wählen 
-  - kleines Programm anlegen, Zielsprache ARM C++, Ziel Hardware STM32F030 Nucleo mit JLink 
-  - Grundgerüst laden 
- 
- 
->>><​code c> 
-//​---------------------------------------------------------------------- 
-// 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 
-} 
-</​code>​ 
- 
- 
-====== Blinky ====== 
- 
->>><​code c> 
-//​---------------------------------------------------------------------- 
-// Titel     : Einfache digitale Ausgabe mit dem STM32F030 Nucleo 
-//​---------------------------------------------------------------------- 
-// Funktion ​ : lässt die User-LED toggeln 
-// Schaltung : LED an GPIO Port A5  
-//​---------------------------------------------------------------------- 
-// Hardware ​ : STM32F030 Nucleo 
-// MCU       : STM32F030R 
-// Takt      : 48 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 
-  
- /* GPIOA Takt einschalten ​ */ 
- RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,​ ENABLE); 
-  
- /* Konfiguriere GPIO Port A5 */ 
- 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 
-} 
-//​------------------------------------------------------------------------------ 
-</​code>​ 
- 
-====== Übersetzen,​ übertragen und testen ====== 
-Die Programme sind getestet und können sofort übersetzt (kompilieren,​ linken) und in den Programmspeicher des Controllers übertragen werden (brennen). ​ 
- 
->​{{:​uebersetzen.jpg?​350|}} {{:​brennen.jpg?​350|}} 
- 
- 
-====== Weitere Beispiele ====== 
-Weitere Beispiele erhalten sie aus dem [[http://​www.sisy.de/​index.php?​id=6&​_cmd=showPage&​_para=searchLibList&​searchTxtLib=Beispiele STM32|SiSy-Libstore]]. 
- 
->​{{:​beispielef0.png?​700|}} 
- 
- 
-====== Videozusammenfassung ====== 
- 
->>><​flashplayer width="​600"​ height="​400"​ position="​0">​file=http://​youtu.be/​84Y3jYLWYpo</​flashplayer>​ 
- 
->>>​[[http://​youtu.be/​84Y3jYLWYpo|besser auf youTube]] 
- 
- 
-====== Weitere Hinweise ====== 
-  * [[Programmierung anderer Controller]] ​ 
-  * [[http://​www.sisy.de/​index.php?​id=6&​_cmd=showPage&​_para=searchLibList&​searchTxtLib=STM32|der STM32 im SiSy-LibStore]]