Timer1 overflow

Ciao :slight_smile:

Una domanda , è possibile avere una variazione lineare del tempo di overflow dell'interrupt sul timer1 ?

ad esempio, è lecito fare questo ?Posso impostare il timer1 per tutto il range di timeus?

timeus = 1000;

while (true) {
timeus-=120;
Timer1.initialize(timeus);      
}

Risolto , in effetti è una domanda un pò banale :))

Ma sempre utile se scrivi come hai risolto. Potrebbe servire come risposta ad altri utenti. :wink:

Certamente ma mi stavo quasi vergognando per la domanda :confused:

Nel codice che segue , tempo è un semplice contatore che viene utilizzato per caricare il timer1:

Timer1.initialize(tempo)

Espresso in migliaia di microsecondi. Lo scopo era di ottenere un timer da 4ms fino a 10ms senza saltare uno step.Sembra aver funzionato.

void loop()    
{ 
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= Timer_ms) {
    
    previousMillis = currentMillis;
    tempo--;
    Serial.println(tempo);
    if (tempo <200) tempo = 200; // velocità massima
    Timer1.initialize(tempo);      
  }    
}