// main.cpp #include "mbed.h" // Blinking rate in milliseconds #define BLINKING_RATE 500ms DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalIn button(PC_13); void set_led_pattern(int pattern) { switch (pattern) { case 0: led1 = 1; led2 = 0; led3 = 0; break; case 1: led1 = 0; led2 = 1; led3 = 0; break; case 2: led1 = 0; led2 = 0; led3 = 1; break; } } int main() { int pattern = 0; set_led_pattern(pattern); while (true) { if (button == 0){ pattern = (pattern + 1) % 3; set_led_pattern(pattern); while (button == 0) { ThisThread::sleep_for(10ms); } ThisThread::sleep_for(150ms); } } }