Hallo Welt in C für das MM32 Board Light
Die erste Übung in jedem Programmierkurs ist das berühmte „Hallo Welt“. Damit wird versucht, dem Lernenden ein motivierendes „AHA-Erlebnis“ zu vermitteln. OK mal sehen, ob wir das auch hin bekommen. Bei der Programmierung von eingebetteten Systemen besteht oft das Problem, dass kein Bildschirm oder Display zur Textausgabe angeschlossen ist. Dann stehen für das „sich der Welt bemerkbar machen“ dem System oft nur LEDs zur Verfügung. Also leuchten und blinken eingebettete Systeme somit ihre Botschaft in die Welt.
//--------------------------------------------------------------------------- // Title : Hello MM32 World, ARM C Application in SiSy //--------------------------------------------------------------------------- // Function : red LED blinking // Wiring : red LED = Port B Bit 0 //--------------------------------------------------------------------------- // Hardware : MM32L073 // Clock : 48 MHz // Language : ARM C // Date : today // Version : 1 // Author : me //--------------------------------------------------------------------------- #include <stddef.h> #include <stdlib.h> #include "hardware.h" void initApplication() { // config 10ms SystemTimer SysTick_Config(SystemCoreClock/100); // user initializations here RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE); GPIO_InitTypeDef led; led.GPIO_Mode = GPIO_Mode_Out_PP; led.GPIO_Pin = GPIO_Pin_0; led.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOB,&led); } int main(void) { SystemInit(); initApplication(); do{ GPIO_SetBits(GPIOB,GPIO_Pin_0); waitMs(200); GPIO_ResetBits(GPIOB,GPIO_Pin_0); waitMs(200); } while (true); return 0; } extern "C" void SysTick_Handler(void) { // Application SysTick default 10ms } //------------------------------------------------------------------------------
Test
Nutzen sie die Schaltflächen Kompilieren, Linken und Brennen. Stellen Sie die nötigen Verbindungen auf dem Board mit den dafür vorgesehenen Patchkabeln her. Testen Sie die Anwendung.
Videozusammenfassung
Und hier diesen Abschnitt wiederum als Videozusammenfassung.