view examples/c3/blink.c3 @ 365:98ff43cfdd36

Nasty bug in adr instruction
author Windel Bouwman
date Wed, 19 Mar 2014 22:32:04 +0100
parents 158068af716c
children
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 blink;

import stm32f4xx;

// Functions:
function void main()
{
    // Memory mapped control registers:
    var GPIO_Type GPIOD;
    GPIOD = cast<GPIO_Type>(0x40020C00);
    var RCC_Type RCC;
    RCC = cast<RCC_Type>(0x40023800);

    // Enable the clock to port D:
    RCC->AHB1ENR = RCC->AHB1ENR | 0x8;


    // PD13 == output (01)
    GPIOD->MODER = (1 << 26);
    GPIOD->ODR = (1 << 13);

    while(true) {}
}