funzione delay

12 Anni 7 Mesi fa #1 da paolotherocker
funzione delay è stato creato da paolotherocker

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.

  • paolotherocker
  • Visitatori
  • Visitatori
12 Anni 7 Mesi fa #2 da Akuryu
Risposta da Akuryu al topic Re: funzione delay

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.

  • Akuryu
  • Avatar di Akuryu
  • Premium Member
  • Premium Member
Di più
12 Anni 7 Mesi fa #3 da paolotherocker
Risposta da paolotherocker al topic Re: funzione delay

reference assume il valore che riguarda la frequenza del quarzo, se consideri che nella freedom abbiamo di base un quarzo da 20000 hrz. avremo un referenz di 20000 agni microsecondo

scusami ma il quarzo è da 20MHz, che sono 20,000,000 non 20,000. Poi quella variabile è utilizzata come valore in MHz. Inoltre il pic in realtà non lavora a 20MHz ma a 5MHz, perché per ogni istruzione ha bisogno di 4 colpi di clock:

quindi sarà passato un microsecondo ogni 5 istruzioni.

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

  • paolotherocker
  • Visitatori
  • Visitatori
12 Anni 7 Mesi fa - 12 Anni 7 Mesi fa #4 da Pinna
Risposta da Pinna al topic Re: funzione delay
Provo a rispondere io, in base all'analisi temporale (pag. 84 C18 step by step) che ho fatto:
i dodici cicli della variabile subDelay servono a raggiungere un valore teorico di 50 usec. Ricordando che il periodo del clock utilizzato è uguale a:

1 sec / 20000000 Hz =0.05 usec

la stessa formula può essere scritta anche come:

((1000 msec /20000000 Hz).

Dividendo tutto per 1000, per semplificare i calcoli si ha:

1 msec/20000 KHz è uguale a 0,00005 msec, cioè 0.05 usec

1 msec = 20000 KHz *0.00005 msec che scrvo, sempre per semplificare i calcoli,:

1 msec = 20 MHz * 0.05 msec = 20 * 50 usec (quelli trovati con l'analisi temporale)


Da qui il calcolo finale: msec * 20 MHz * 50 usec, che è la risultante di semplificazioni matematiche



Ovviamente, la misura del secondo, preso come unità di misura, si discosta leggermente: ho infatti misurato un valore reale di 1.016 sec., questo perchè è difficile avere 50 usec esatti per via di vari parametri.

Ne approffitto per augurare una Buona Pasqua a voi e famiglia



@ Mauro: se ho detto grosse corbellerie, correggimi qui, su questo forum e mettimi pure alla berlina

Chi vola vale, chi vale vola, chi non vola è un vile
Ultima Modifica 12 Anni 7 Mesi fa da Pinna.

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

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
12 Anni 7 Mesi fa #5 da paolotherocker
Risposta da paolotherocker al topic Re: funzione delay
grazie per l'aiuto

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

  • paolotherocker
  • Visitatori
  • Visitatori
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