scrittura valori nel registro del timer0

9 Anni 7 Mesi fa #1 da sharky
scrittura valori nel registro del timer0 è stato creato da sharky

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • sharky
  • Senior Member
  • Senior Member
Di più
9 Anni 7 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic scrittura valori nel registro del timer0
154 e' il valore corretto.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
9 Anni 7 Mesi fa #3 da sharky
Risposta da sharky al topic scrittura valori nel registro del timer0
Grazie!

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • sharky
  • Senior Member
  • Senior Member
Di più
9 Anni 7 Mesi fa #4 da sharky
Risposta da sharky al topic scrittura valori nel registro del timer0
mauro, scusa potresti gentilmente spiegarmi il perché del valore 154?

sono 3 giorni che ci penso e mi piacerebbe capire la logica...

il mio ragionamento (sbagliato) è questo:

se ipoteticamente ho un prescaler di 256, significa che il mio timer viene incrementato di 1 ogni 256 cicli (Fosc x 4 x 256). Cio significa che se il mio valore iniziale è 100, dopo circa 1000 cicli sarà 104. ci vogliono peroó due cicli per scrivere il numero, dunque scrivo 98. questo 98 avrà bisogno di 500 cicli circa per arrivare a 100, e dopo i soliti 1000 cicli sarà a 102 e non a 104.
a me verrebbe da scrivere 100 nel timer e non 98...

dove sbaglio?

Grazie!

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • sharky
  • Senior Member
  • Senior Member
Di più
9 Anni 7 Mesi fa #5 da Mauro Laurenti
Risposta da Mauro Laurenti al topic scrittura valori nel registro del timer0
Tu hai inganno me e io ho creato confusione in te...
...un cane che si morde la coda.
Ma non ci hai dormito tre giorni chi si e' fatto male sei tu...
...io ho dormito senza pensarci!

Determinato il valore del timer da caricare, dal momento che si perdono due cicli di clock e il conteggio va avanti fino a FF vuol dire che quando riparte il conteggio (se avessi contato quelli persi) il tuo contatore starebbe a x che carichi + 2.

quindi devi sommare 2 e non sottrarre.

Per avere tempi precisi, dovresti sommare anche eventuali cicli di clock persi derivanti da istruzioni che esegui prima di caricare il valore in TMR0.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login