Witam.
Timer1 w trybie Input Capture reaguje na zbocze impulsu, który pojawi się na dedykowanym pinie wejściowym dla tego trybu. Rodzaj zbocza można sobie wybrać. W momencie nadejścia pierwszego impulsu timer rozpoczyna liczenie i liczy tak długo, aż się przekręci... i tak w kółko. każdy kolejny impuls pojawiający się na wejściu (ten pierwszy impuls również - gwoli ścisłości) powoduje wywołanie przerwania, oczywiście o ile je sobie włączyłeś, w celu wygodnego odczytu aktualnego stanu licznika tegoż timera. A więc nadchodzi impuls, wchodzisz w przerwanie i czytasz stan licznika.. i zapamiętujesz. Nadchodzi następny impuls, znowu wchodzisz w przerwanie i odczytujesz stan licznika. Z różnicy tych dwóch stanów licznika dowiesz się dokładnie, jaki był odstęp pomiędzy tymi dwoma kolejnymi impulsami. Przykład RC5 z BB jest naprawdę dobrze napisany, tylko go kilka razy przeanalizuj
Przerwanie ICP
- Antystatyczny
- Geek
- Posty: 1168
- Rejestracja: czwartek 03 wrz 2015, 22:02
Re: Przerwanie ICP
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.
Re: Przerwanie ICP
Timer odpalasz normalnie, ustalasz preskaler i licznik zaczyna zliczać, konfigurujesz na jakie zbocze ma być wyzwolone przerwanie (tak jak w przypadku przerwań zewnętrznych) i już!
- Antystatyczny
- Geek
- Posty: 1168
- Rejestracja: czwartek 03 wrz 2015, 22:02
Re: Przerwanie ICP
WoodPaker pisze:A gdzie program?!
A cóż to za wykopaliska?
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.
Re: Przerwanie ICP
Bo czekałem z zapartym (stolcem/tchem - niepotrzebne skreślić) i się nie doczekałem!
Life is to short to eject USB safely
Wróć do „Programowanie AVR w C”
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość