Calcolare valori timer x 10 millisecondi

Sezione dedicata al sistema di sviluppo BASCOM-AVR per i micro AVR
At90s, Attiny, Atmega e Xmega

Calcolare valori timer x 10 millisecondi

Postby einstein » 22 Apr 2014, 14:33

ciao,
come faccio a calcolare i valori da assegnare al timer0 per avere un interrupt ogni 10millisec esattissimi a partire da un dato clock di ingresso. conoscete la formula o esiste qualche programmino che potrebbe aiutarmi.
grazie
User avatar
einstein
 
Posts: 88
Joined: 01 Mar 2014, 15:10
Location: Siracusa

Re: Calcolare valori timer x 10 millisecondi

Postby suibaf » 22 Apr 2014, 20:35

La formula per calcolare il timing del T0 è la seguente:

T = 256* precaler/fosc =256*1024/16000000 = 16,384 mS
'quindi sifnifica che ogni 16,384mS ci sarà un overflow

Quindi puoi cambiare sia il prescaler che il quarzo per avere tempi diversi!
Per il software dai un'occhiata qui: http://clsql.med-info.com/screenshots.html
User avatar
suibaf
 
Posts: 122
Joined: 08 Mar 2014, 09:55
Location: Lecce

Re: Calcolare valori timer x 10 millisecondi

Postby Leonardo » 22 Apr 2014, 20:38

Puoi usare un timer a 16 bit se presente per una maggiore risoluzione temporale.
Esiste anche la modalità CTC per eseguire un'interrupt al raggiungimento di un certo valore del contatore del timer

Ciao
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: Calcolare valori timer x 10 millisecondi

Postby einstein » 22 Apr 2014, 21:07

grazie ragazzi
grazie suibaf per la formula. però è difficile avere 10msec precisi, giusto?
ho scaricato il programma Avrcalc ma mi da un errore e non parte, a voi funziona?

l'errore è questo
Failed to reserve 13565953 bytes of memory (preferred address 0x20000000)
Error 487: Tentativo di accedere ad un indirizzo non valido.
User avatar
einstein
 
Posts: 88
Joined: 01 Mar 2014, 15:10
Location: Siracusa

Re: Calcolare valori timer x 10 millisecondi

Postby suibaf » 23 Apr 2014, 07:21

No a me avrcalc funziona senza problemi.

Per quanto riguarda i 10ms potresti provare come ti ha suggerito Leonardo.
User avatar
suibaf
 
Posts: 122
Joined: 08 Mar 2014, 09:55
Location: Lecce

Re: Calcolare valori timer x 10 millisecondi

Postby einstein » 23 Apr 2014, 07:35

Niente suibaf, ho provato anche su un'altra macchina con XP ma non va, stesso errore. Non capisco quale sia il problema.

Failed to reserve 13565953 bytes of memory (preferred address 0x20000000)
Error 487: Tentativo di accedere ad un indirizzo non valido.


Potrei sapere quale versione stai usando, e se possibile, potresti postare la tua installazione su dropbox così da poterlo provare? Mi faresti un grande piacere.
User avatar
einstein
 
Posts: 88
Joined: 01 Mar 2014, 15:10
Location: Siracusa

Re: Calcolare valori timer x 10 millisecondi

Postby suibaf » 23 Apr 2014, 09:15

User avatar
suibaf
 
Posts: 122
Joined: 08 Mar 2014, 09:55
Location: Lecce

Re: Calcolare valori timer x 10 millisecondi

Postby einstein » 23 Apr 2014, 09:42

suibaf grazie per aver condiviso il programma,
ma neppure questo mi funziona. proverò a scrivere all'autore e vedremo se potrà aiutarmi.
grazie lo stesso comunque.

Ti aggiorno !!
ho provato su altra macchina e funziona perfettamente. grazie
User avatar
einstein
 
Posts: 88
Joined: 01 Mar 2014, 15:10
Location: Siracusa

Re: Calcolare valori timer x 10 millisecondi

Postby suibaf » 23 Apr 2014, 14:25

Puoi testare anche questi se vuoi:
http://www.planet-ian.com//start_e.htm
User avatar
suibaf
 
Posts: 122
Joined: 08 Mar 2014, 09:55
Location: Lecce

Re: Calcolare valori timer x 10 millisecondi

Postby einstein » 23 Apr 2014, 17:48

Fantastico :)
dico il programma, genera il codice direttamente, grazieeeee :)
User avatar
einstein
 
Posts: 88
Joined: 01 Mar 2014, 15:10
Location: Siracusa


Return to BASCOM-AVR

Who is online

Users browsing this forum: No registered users and 3 guests

cron