Is this timer set correctly for Arduino Mega? It should count exactly one second. And why when I print in serial monitor (seconds_passed++) is it incremented by 2 not by 1?
Full code on Pastebin: LINK
noInterrupts();
//set and initialize the TIMER1
TCCR1A = 0; // set entire TCCR1A register to 0
TCCR1B = 0; // set entire TCCR1B register to 0
TCCR1B |= (1 << CS12);
TIMSK1 |= (1 << TOIE1);
TCNT1 = 3036;
attachInterrupt(digitalPinToInterrupt(ignition_pin), ignitionSignal, CHANGE);
interrupts();
ISR(TIMER1_OVF_vect) {
//TIMER1 overflow interrupt -- occurs every 1sec --
instantSpeed();
LPG_Consumption();
LPG_injector_open_duration = 0;
unleadedConsumption();
unleadinj_Open_Duration = 0;
seconds_passed++;
vss_pulses = 0;
TCNT1 = 3036;
}