void setup() {
// put your setup code here, to run once:
pinMode( 13, OUTPUT );
pinMode( 7, OUTPUT );
pinMode( 4, OUTPUT );
}
uint32_t led1_next = 0, led2_next = 0, led3_next = 0;
uint32_t led1_pulse = 1000 / ( 2 * 1 ); // 1Hz
uint32_t led2_pulse = 1000 / ( 2 * 2 ); // 2Hz
uint32_t led3_pulse = 1000 / ( 2 * 0.67 ); // 0.67Hz
void loop() {
// put your main code here, to run repeatedly:
if( millis() > led1_next )
{
led1_next = millis() + led1_pulse;
digitalWrite( 13, ! digitalRead( 13 ) );
}
if( millis() > led2_next )
{
led2_next = millis() + led2_pulse;
digitalWrite( 7, ! digitalRead( 7 ) );
}
if( millis() > led3_next )
{
led3_next = millis() + led3_pulse;
digitalWrite( 4, ! digitalRead( 4 ) );
}
// other tasks
}