filosofo wrote:Salve a tutti,
C'è qualcuno che mi potrebbe dare qualche informazione a proposito di $TIMEOUT ?
1) Quale è la relazione tra il valore assegnato a $TIMEOUT e il vero valore real-time assumendo 8MHz come clock?
L'help dice che cè un rapporto relativo tra il valore assegnato e il tempo reale che l'istruzione INPUT aspetta prima di andare avanti se
non riceve caratteri.
C'è un modo per calcolarlo? Sull' help non viene specificato....
2) E quindi, cosa significa ad esempio ($TIMEOUT=1000000) ?
Grazie e Buona Pasqua
Questo è quello che riporta l'help del Bascom-AVR.....
"The timeout is not in seconds or microseconds, it is a relative number.
Only the speed of the oscillator has effect on the duration. And the value of the number of course."Come avevi già visto il $timeout è un valore relativo e purtroppo dovresti andare a tentativi visto che tutto dipende dalla
freq della CPU.
Impostando un $Timeout=1000000
nella routine di "INPUT" potresti, prima di INPUT settare un bit di una porta e subito dopo INPUT, resettarlo.
A questo punto potresti banalmente misurare con uno oscilloscopio o LA il tempo tra il set e il reset del bit.
Avendo questo valore potresti applicare una proporzione ed avere così una costante per quel dato chip e clock.
NB.In modo approssimato potremmo dire che un valore di 1000000 equivale ad un ciclo di attesa di 100mSec con un clock di 10Mhz
Ciao