volatile char led_color_value = 0;
enum my_led_pins {
COMMON_ANODE = 7,
BLUE_CATHODE = 11,
GREEN_CATHODE = 12,
RED_CATHODE = 13,
};
void setup() {
pinMode(RED_CATHODE, OUTPUT);
pinMode(GREEN_CATHODE, OUTPUT);
pinMode(BLUE_CATHODE, OUTPUT);
pinMode(COMMON_ANODE, OUTPUT);
digitalWrite(COMMON_ANODE, HIGH);
}
void loop() {
led_color_value = (++led_color_value)%8;
digitalWrite(RED_CATHODE, !(led_color_value & 0x1));
digitalWrite(GREEN_CATHODE, !(led_color_value & 0x2));
digitalWrite(BLUE_CATHODE, !(led_color_value & 0x4));
delay(1000);
}