void setup() {
RCC->AHBENR |= (1 << 0); //0 -> GPIOA
RCC->AHBENR |= (1 << 3); //1 -> GPIOD
GPIOA->MODER = 0xAAAAAAAA;
GPIOA->MODER = 0x55555555;
GPIOD->MODER = 0xAAAAAAAA;
GPIOD->MODER = 0x55555555;
}
int state;
void loop() {
int state = random(1, 4);
for (int i = 0; i < 20; i++) {
switch (state) {
case 1: leuchten();
break;
case 2: blinken();
break;
case 3: rgb();
break;
}
}
allOFF();
}
void blinken() {
int led = random(0x00, 0xFF);
int rgb = random(0x00, 0xFF);
GPIOA->ODR = led;
GPIOD->ODR = rgb;
delay(100);
}
void leuchten() {
GPIOA->ODR = 0xFF;
GPIOD->ODR = 0xFF;
delay(10);
}
void rgb() {
for (int i = 0; i < 3; i++) {
GPIOD->ODR = i;
delay(100);
}
}
void allOFF() {
GPIOA->ODR = 0x00;
GPIOD->ODR = 0x00;
}