view test/c3examples/burn2.c3 @ 284:05184b95fa16

Moved tests to seperate folder
author Windel Bouwman
date Fri, 15 Nov 2013 13:43:22 +0100
parents python/c3/examples/burn2.c3@02385f62f250
children 1c7c1e619be8
line wrap: on
line source

/*

This file blinks a LED on the STM32F4 discovery board.

the board has 4 leds on PD12, PD13, PD14 and PD15

*/

module burn2;

import stm32f4xx;

function int add(int a, int b)
{
    return a + b;
}

function void init(int pin)
{
    if (pin < 12)
    {
        return;
    }

    /*if (pin > 15)
    {
        return;
    }*/

    var RCC_Type RCC;
    RCC = cast<RCC_Type>(0x40023800);

    // Enable the clock to port D:
    RCC->AHB1ENR = RCC->AHB1ENR | (1 << 3);
    // Memory mapped control registers:
    var GPIO_Type GPIOD;
    GPIOD = cast<GPIO_Type>(0x40020C00);

    // PD13 == output (01)
    GPIOD->MODER = (1 << (pin << 1));
    GPIOD->ODR = (1 << pin);
}


function void main()
{
    // Vary between 12 and 15:
    init(13);

    var int a;
    a = 0
    while (a < 1000)
    {
        a = a + 1;
    }

    while(true) {}
}