view python/c3/examples/burn2.c3 @ 279:2ccd57b1d78c

Fix register allocator to do burn2 OK
author Windel Bouwman
date Sat, 12 Oct 2013 09:56:23 +0200
parents cf7d5fb7d9c8
children 02385f62f250
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

*/

package burn2;

import stm32f4xx;

function void init()
{
    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);

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


function void main()
{
    init();

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

    while(true) {}
}