AVR - wypadanie przerwań

Jul 05, 2007 2 Replies

Mierzę sobie na Atmega32 częstotliwość impulsów (a konkretnie to okres, czyli czas pomiędzy 2 kolejnymi impulsami) - na przerwaniu zegara śmiga licznik, a przerwanie zewnętrzne (INT0) zapamiętuje stan tego licznika i go zeruje. Jednak coś jest nie tak i jeden na kilkanaście / kilkadziesiąt impulsów jest gubiony. Co może być przyczyną? Wystąpienie w tym samym czasie przerwania zegarowego i zewnętrznego? Jeśli tak, to jak rozwiązać problem?



Dariusz Żołna


Dariusz Zolna napisał(a):

No i sam sobie odpowiedziałem - wystarczyło zmienić przerwania na blokujące.

Dariusz Żołna

Użytkownik Dariusz Zolna napisał:

Witam A masz inne źródła przerwań ? Ewentualnie blokuj je na czas pomiaru. Lepiej do tego celu zastosować rejestr ICP, który jest sprzęgnięty z TIMER1. Realizuje Twój problem całkowicie sprzętowo. Wystarczy odczytać zawartośc rejestru ICP.

Pozdrawiam Grzegorz

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required