Pagina 1 di 1

formula per Delay

MessaggioInviato: 27 gen 2013, 23:00
da guidonetto
Ciao, mi piacerebbe conoscere la formula per calcolare i secondi nei cicli di Delay del C18, per es. con un quarzo da 20MHz?
Grazie


Delay1TCY ritardo di un ciclo di istruzione.
Ritardo Delay10TCYx multipli di 10 cicli di istruzione.
Ritardo Delay100TCYx multipli di 100 cicli di istruzione.
Ritardo Delay1KTCYx multipli di 1.000 cicli di istruzione.
Ritardo Delay10KTCYx multipli di 10.000 cicli di istruzione.

Il formato del comando è seguito da un numero tra parentesi (numero di ripetizioni del ritardo):
ad esempio, di ritardare per 50 cicli di istruzione, uso:

Delay1TCY (50);
o
Delay10TCYx (5);

Re: formula per Delay

MessaggioInviato: 28 gen 2013, 2:43
da TardoFreak
C'è scritto nel datasheet: ogni ciclo di istruzione impiega 4 colpi di clock. -:-
Con clock a 20MHz vengono eseguiti 5 Mcicli al secondo quindi un ciclo ha un periodo di 0.2 us

Delay1TCY (50);
o
Delay10TCYx (5);

Sono equivalenti.

Nota: I ritardi "hadware" come questi è bene utilizzarli solo se non se ne può fare a meno. Imballare la MPU per un ritardo del cavolo non è una buona pratica perché la MPU dovrebbe fare cose più interessanti che far passare del tempo. :mrgreen: