Citazione:
Originalmente inviato da faustog_2 OK ho capito.. è arrivato (immediatamente) il momento di mettersi a studiare il datasheet! cercando di capire il software.. immediatamente sorge l'esigenza di conoscere i nomi dei registri e i bit relativi agli interrupt http://www.atmel.com/Images/8271S.pdf
man mano faremo interventi sugli argomenti PWM, interrupt, Timer.
PEr esempio per leggere il segnale PPM da una ricevente serve appunto saper usare il Timer1 attraverso la lettura partendo dal valore LOW.. aspetta che esso diventi HIGHT.. appena cambia di stato.. comincia a contare.. fino a quando appunto non ritorna a valore basso LOW..
a dopo
fausto |
in realta conta sempre in continuo e l'igresso non fa che memorizzare di volta in volta tul registro il valore del contatore dopo ricavii n maniera asincrona(tanto c'e tutto il tempo) la differenza tra due memorizzazioni successive.
il vantaggio di non resettare mai il contatore permette di poterlo usare anche per il driver dei servi, e per eventualmente generare un ppm in uscita sul pin 9.
non bisogna dimenticare che sul 328 cè solo un contatore 16 bit.
p.s. nota che facendo la differena tra unsigned no c'è bisogno di testare quando si attraversa lo zero perche la diiff sara sempre corretta