=0; ticks--); } void led_blue() { GPIOD->ODR ^= GPIO_ODR_OD15; } void led_red() { GPIOD->ODR ^= GPIO_ODR_OD14; } void led_orange() { GPIOD->ODR ^= GPIO_ODR_OD13; } void led_green() { GPIOD->ODR ^= GPIO_ODR_OD12; } void setup(void) { RCC -> AHB1ENR |= RCC_AHB1ENR_GPIODEN; // Enable output on D port GPIOD -> MODER |= GPIO_MODER_MODER15_0; GPIOD -> MODER |= GPIO_MODER_MODER14_0; GPIOD -> MODER |= GPIO_MODER_MODER13_0; GPIOD -> MODER |= GPIO_MODER_MODER12_0; } void loop(void) { led_blue(); wait(250); led_red(); wait(250); led_orange(); wait(250); led_green(); wait(250); } int main(void) { setup(); while(1) { loop(); } return 0; }"> =0; ticks--); } void led_blue() { GPIOD->ODR ^= GPIO_ODR_OD15; } void led_red() { GPIOD->ODR ^= GPIO_ODR_OD14; } void led_orange() { GPIOD->ODR ^= GPIO_ODR_OD13; } void led_green() { GPIOD->ODR ^= GPIO_ODR_OD12; } void setup(void) { RCC -> AHB1ENR |= RCC_AHB1ENR_GPIODEN; // Enable output on D port GPIOD -> MODER |= GPIO_MODER_MODER15_0; GPIOD -> MODER |= GPIO_MODER_MODER14_0; GPIOD -> MODER |= GPIO_MODER_MODER13_0; GPIOD -> MODER |= GPIO_MODER_MODER12_0; } void loop(void) { led_blue(); wait(250); led_red(); wait(250); led_orange(); wait(250); led_green(); wait(250); } int main(void) { setup(); while(1) { loop(); } return 0; }"> =0; ticks--); } void led_blue() { GPIOD->ODR ^= GPIO_ODR_OD15; } void led_red() { GPIOD->ODR ^= GPIO_ODR_OD14; } void led_orange() { GPIOD->ODR ^= GPIO_ODR_OD13; } void led_green() { GPIOD->ODR ^= GPIO_ODR_OD12; } void setup(void) { RCC -> AHB1ENR |= RCC_AHB1ENR_GPIODEN; // Enable output on D port GPIOD -> MODER |= GPIO_MODER_MODER15_0; GPIOD -> MODER |= GPIO_MODER_MODER14_0; GPIOD -> MODER |= GPIO_MODER_MODER13_0; GPIOD -> MODER |= GPIO_MODER_MODER12_0; } void loop(void) { led_blue(); wait(250); led_red(); wait(250); led_orange(); wait(250); led_green(); wait(250); } int main(void) { setup(); while(1) { loop(); } return 0; }">
/* Juliusz Tarnowski */
#include "stm32f4xx.h"
void wait(int ticks) { for(; ticks>=0; ticks--); }
void led_blue() { GPIOD->ODR ^= GPIO_ODR_OD15; }
void led_red() { GPIOD->ODR ^= GPIO_ODR_OD14; }
void led_orange() { GPIOD->ODR ^= GPIO_ODR_OD13; }
void led_green() { GPIOD->ODR ^= GPIO_ODR_OD12; }
void setup(void)
{
RCC -> AHB1ENR |= RCC_AHB1ENR_GPIODEN; // Enable output on D port
GPIOD -> MODER |= GPIO_MODER_MODER15_0;
GPIOD -> MODER |= GPIO_MODER_MODER14_0;
GPIOD -> MODER |= GPIO_MODER_MODER13_0;
GPIOD -> MODER |= GPIO_MODER_MODER12_0;
}
void loop(void)
{
led_blue(); wait(250);
led_red(); wait(250);
led_orange(); wait(250);
led_green(); wait(250);
}
int main(void)
{
setup();
while(1)
{
loop();
}
return 0;
}
/* Juliusz Tarnowski */
#include "stm32f4xx.h"
void wait(int ticks) { for(; ticks>=0; ticks--); }
void led_green() { GPIOG->ODR ^= GPIO_ODR_OD6; }
void led_orange() { GPIOD->ODR ^= GPIO_ODR_OD4; }
void led_red() { GPIOD->ODR ^= GPIO_ODR_OD5; }
void led_blue() { GPIOK->ODR ^= GPIO_ODR_OD3; }
void setup(void)
{
RCC -> AHB1ENR |= RCC_AHB1ENR_GPIOGEN; // Enable output on G port
RCC -> AHB1ENR |= RCC_AHB1ENR_GPIODEN; // Enable output on D port
RCC -> AHB1ENR |= RCC_AHB1ENR_GPIOKEN; // Enable output on K port
GPIOG -> MODER |= GPIO_MODER_MODER6_0;
GPIOD -> MODER |= GPIO_MODER_MODER4_0;
GPIOD -> MODER |= GPIO_MODER_MODER5_0;
GPIOK -> MODER |= GPIO_MODER_MODER3_0;
}
void loop(void)
{
led_green(); wait(0x1fffff);
led_orange(); wait(0x1fffff);
led_red(); wait(0x1fffff);
led_blue(); wait(0x1fffff);
}
int main(void)
{
setup();
while(1)
{
loop();
}
return 0;
}