/* * This program toggles the four LEDs of the EduBase board. * * The four LEDs are: * LED3 - PB7 * LED2 - PB6 * LED1 - PB5 * LED0 - PB4 */ #include "stm32f4xx.h" void delayMs(int n); int main(void) { RCC->AHB1ENR |= 2; /* enable GPIOB clock */ GPIOB->MODER &= ~0x0000ff00; /* clear pin mode */ GPIOB->MODER |= 0x00005500; /* set pins to output mode */ while (1) { GPIOB->ODR |= 0x00000050; /* turn on LED 2, 0 */ GPIOB->ODR &= ~0x000000A0; /* turn off LED 3, 1 */ delayMs(500); GPIOB->ODR &= ~0x00000050; /* turn off LED 2, 0 */ GPIOB->ODR |= 0x000000A0; /* turn on LED 3, 1 */ delayMs(500); } } /* 16 MHz SYSCLK */ void delayMs(int n) { int i; for (; n > 0; n--) for (i = 0; i < 3195; i++) ; }