Witam!
Mam na początku pytanie:
Co jest pierwsze przy pojawieniu się impulsu na ICP, przerwanie od niego czy przepisanie zawartości licznika do rejestru ICR1?
Planuję zrobić licznik czasu trwania impulsu i wymyśliłem coś takiego (na razie schematycznie):
Pomysł jest taki, aby układ wykrywał kiedy jest brak sygnału. Gdy licznik się przepełni, następuje przerwanie od tego i wpisanie 0 do wyniku bezpośrednio.
Gdy pojawi się sygnał, wartość licznika przepisywana jest do rejestru ICR1 (sprzętowo) a później w przerwaniu licznik jest zerowany.
Jak widać zastosowałem także "markery" aby wiedzieć kiedy program ma obliczać a kiedy nie.
Jak sądzicie, zadziała taki pomysł? Czy lepiej np. za zerowanie licznika przepisywać wartość (także w przerwaniu) do jakiejś np. zmiennej i potem dopiero wykonywać na zmiennej obliczenia?
Pozdrawiam
Mam na początku pytanie:
Co jest pierwsze przy pojawieniu się impulsu na ICP, przerwanie od niego czy przepisanie zawartości licznika do rejestru ICR1?
Planuję zrobić licznik czasu trwania impulsu i wymyśliłem coś takiego (na razie schematycznie):
Kod: C / C++
Pomysł jest taki, aby układ wykrywał kiedy jest brak sygnału. Gdy licznik się przepełni, następuje przerwanie od tego i wpisanie 0 do wyniku bezpośrednio.
Gdy pojawi się sygnał, wartość licznika przepisywana jest do rejestru ICR1 (sprzętowo) a później w przerwaniu licznik jest zerowany.
Jak widać zastosowałem także "markery" aby wiedzieć kiedy program ma obliczać a kiedy nie.
Jak sądzicie, zadziała taki pomysł? Czy lepiej np. za zerowanie licznika przepisywać wartość (także w przerwaniu) do jakiejś np. zmiennej i potem dopiero wykonywać na zmiennej obliczenia?
Pozdrawiam