Das XMC2Go ist vielleicht das kleinste ARM-Evaluationboard der Welt. Der XMC1100 Controller ist einer der neusten in der XMC Familie. Stromsparend, leistungsfähig und preiswert sind die Attribute der neusten XMC.
Beschaffung: XMC-Produkte
//---------------------------------------------------------------------- // Titel : Grundgerüst einer einfachen ARM C Anwendung in SiSy //---------------------------------------------------------------------- // Funktion : ... // Schaltung : ... //---------------------------------------------------------------------- // Hardware : XMC2Go // MCU : XMC1100 // 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 }
//---------------------------------------------------------------------- // Titel : Beispiel Blinky für das XMC2Go //---------------------------------------------------------------------- // Funktion : lässt eine LED blinken // Schaltung : LED an Port1 Bit0 //---------------------------------------------------------------------- // Hardware : XMC2Go // MCU : XMC1100 // Takt : 32 MHz // Sprache : ARM C // Datum : 17.04.2014 // Version : 1 // Autor : Alexander Huwladt //---------------------------------------------------------------------- #include <stddef.h> #include <stdlib.h> #include "hardware.h" void initApplication() { // config auf 10ms SystemTimer SysTick_Config(SystemCoreClock/100); // weitere Initialisierungen durchführen // Port 1 Input Output Control Register, Bit 0 = OUT PORT1->IOCR0 |= (GPIO_OUTPUT_TYPE_PUSH_PULL<<0*8); } int main(void) { SystemInit(); initApplication(); do{ // Port 1 Output Register, Bit 0 = 1 PORT1->OUT |= BIT0; // 1. Halbzyklus waitMs(200); // Port 1 Output Register, Bit 0 = 0 PORT1->OUT &= ~BIT0; // 2. Halbzyklus waitMs(200); } while (true); return 0; } extern "C" void SysTick_Handler(void) { // Application SysTick default 10ms } //------------------------------------------------------------------------------
Die Programme sind getestet und können sofort übersetzt (kompilieren, linken) und in den Programmspeicher des Controllers übertragen werden (brennen).