funzione delay

12 Anni 7 Mesi fa - 12 Anni 7 Mesi fa #6 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: funzione delay
Ricordo quando ho scritto la funzione delay... :)
era la primavera del 2009 ed ero a Monaco! :)

Ammetto di aver fatto meno conti, ovvero ho fatto un doppio ciclo per avere maggior flessibilita' sui tempi ma il valore finale per i cicli li ho determinati per mezzo del simulatore e dell'oscilloscopio! :)
Il tempo potrebbe anche essere variare se il compilatore non facesse uso di ottimizzazioni o con versioni diverse!
ma per ora non ho riscontrato di questi problemi, anche se il tempo del delay e' comunque approssimato.

Attualmente la libreria che ho scritto supporta solo i delay multipli del millisecondo.

Per tempi dell'ordine del us potresti far uso delle funzioni delay della libreria Microchip per mezzo della quale puoi aspettare un numero predefinito di cicli di clock.

Saluti,

Mauro
Ultima Modifica 12 Anni 7 Mesi fa da Mauro Laurenti.

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 7 Mesi fa - 12 Anni 7 Mesi fa #7 da paolotherocker
Risposta da paolotherocker al topic Re: funzione delay
appena trovo una soluzione valida la condivido!
Ultima Modifica 12 Anni 7 Mesi fa da paolotherocker.

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

  • paolotherocker
  • Visitatori
  • Visitatori
12 Anni 7 Mesi fa #8 da paolotherocker
Risposta da paolotherocker 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.

  • paolotherocker
  • Visitatori
  • Visitatori
12 Anni 7 Mesi fa #9 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: funzione delay
Ciao,

grazie per aver condiviso l'esempio.
Questo era proprio quello che intendevo.
La differenza rispetto alla libreria che ho scritto e' che non puoi variare il quarzo durante l'esecuzione del programma ma solo in fase di compilazione.

Probabilmente aggiungerò in futuro anche questa opzione. Per fare questo bisogna far uso di altre funzioni e define al fine di adattare la compilazione in funzione della frequenza del quarzo.

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 7 Mesi fa #10 da paolotherocker
Risposta da paolotherocker al topic Re: funzione delay
l'unica cosa che ho corretto successivamente è che ovviamente nella funzione dei microsecondi avendo fatto una divisione intera per 4 funziona solo per multipli di 4. Togliendo uno dei due delay e dividendo per 2 possiamo passargli numeri pari ma il massimo è limitato a 512 (l'ingresso della funzione delay è un char)

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