|
Salve ti spiego come farei..ma tieni conto che non programmo i pic da un pò e che cmq ho avuto poca esperienza....allora io farei cosi:
intanto setti i prescaler del timer in modo che il timer possa contare 1 ms
poi setti sul pin d'ingresso del segnale l'interrupt sul fronte di salita....e metti il pic in attesa appena arriva il fronte di salita del segnale sul pin del pic questo genera un interrupt allora viene richiamata la funzione di gestione dell'interrupt che deve fare le seguenti cose: far partire il timer e settare sul fronte di discesa l'interrupt del pin d'ingresso e stop..il pic deve poi restare in attesa che il timer generi l'interrupt per l'overflow una volta generato l'interrupt del timer viene eseguita la funzione che tu hai scritto per gestire questo interrupt, questa funzione non deve far altro che resettare il timer e farlo ripartire e metti il pic nuovamente in attesa a questo punto aspetti che venga generato un nuovo interrupt da parte del pin di ingresso viene richiamata nuovamente la funzione per la gestione dell'interrupt e questa volta bisogna solamente leggere il valore del timer..........
|