#define led1(x) digitalWrite(13, x? HIGH:LOW)
#define led2(x) digitalWrite(12, x? HIGH:LOW)
#define led3(x) digitalWrite(11, x? HIGH:LOW)
#define led4(x) digitalWrite(10, x? HIGH:LOW)
void setup()
{ for(uint8_t i=10;i<=13;i++)
pinMode(i,OUTPUT);
}
void LEDs(uint8_t no) // no6 = 0110
{ led1(no & 1<<0);
led2(no & 1<<1);
led3(no & 1<<2);
led4(no & 1<<3);
}
uint8_t a[10] = {1,3,7,15,14,12,8,0};
uint8_t b[10] = {8,12,14,15,7,3,1,0};
uint16_t masa=100;
void loop()
{ for(uint8_t i=0;i<8;i++)
{ LEDs(a[i]);
delay(masa);
}
for(uint8_t i=0;i<8;i++)
{ LEDs(b[i]);
delay(masa);
}
}
//--- DIGITAL OUTPUT
//--- MACRO DEFINITION
//--- MULTIPLE MACRO DEFINITION
//--- BITWISE OPERATION
// 0000 0001 --> 1
// 128 64 32 16 8421
// 0000 0000 --> 8
// 0000 1000
// 0000 0100 --> 1 << 2
// 0000 0010 --> 1 << 1
// 0000 1000 --> 1 << 3
// 8421
// 0000 0100 --> 4 << 2
// 0001 0000 --> 4 << 2
// 0000 0100 --> 4 >> 1
// 0000 0010 --> 4 >> 1
// x=0
// (x & 1) = 0 & 1 ==> 0
// x=1
// (x & 1) = 1 & 1 ==> 1