Próbowałem rozgryźć ten kod ale dla mnie jest zbyt zakręcony.
SK97 napisał(a):
muszę obliczyć prędkość obrotową. Pomiar musi być wykonany za pomocą liczenia czasu pomiędzy przerwaniami.
Zastanawiam się czy te wymagania są konieczne, bo i tak na końcu program wyświetla częstotliwość obrotów (zmienna "obroty_sek"). Wydaje mi się, że nie trzeba robić skomplikowanego liczenia czasu pomiędzy przerwaniami. Prościej byłoby zliczyć ilość przerwań zewnętrznych (INT1) w określonym czasie ustalonym przez TIMER1. Zamiast dziewięciu wystarczą dwie, trzy zmienne (np.Licznik_przerwań, Liczba_ms, Wynik, ewentualnie Liczba_szczelin).