millis() function returns the number of milliseconds the current sketch has been running since the last reset.
millis() returns an unsigned long.
#define MEASURE_INTERVAL 1000 //
#define SEND_INTERVAL 16000 //
unsigned long previous_millis_measure = 0;
unsigned long previous_millis_send = 0;
boolean measure_state = false;
boolean send_state = false;
void loop(void)
{
unsigned long current_millis = millis();
if ((unsigned long)(current_millis - previous_millis_measure) >= MEASURE_INTERVAL)
{
measure_state = true;
previous_millis_measure = current_millis;
}
if ((unsigned long)(current_millis - previous_millis_send) >= SEND_INTERVAL)
{
send_state = true;
previous_millis_send = current_millis;
}
if (measure_state){ // == if true
// measure something
measure_state = false;
}
if (send_state){ // == if true
// send something
send_state = false;
}
}