Mam sobie ustawione przerwanie zewnętrzne od czujnika na INT1 wyzwalane zboczem narastającym, wszystko elegancko się wykonuje ikramentując mi zmienią, której to wartość sobie procesor odpowiednio zlicza, a następnie prezentuje to wyświetlaczu.
Chciałbym jednak np. uzyskać informacje kiedy czujnik przestaje "nadawać" przez co przerwanie się nie wykonuje i wówczas miała by się np. zapalić dioda, czy wyświetlić napis itp. Wiadomo wspomniany licznik przestanie liczyć i się zatrzyma jednak bym chciał mieć dodatkową informacje. Nie mam po prostu pomysłu jak to w kodzie opisać, jakie warunki zrobić w związku z czym zwracam się do was z prośbą o radę.
Używam procesora Atmega 644. Załączam fragment programu dotyczący ustawienia przerwania.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Robiłem już różne swoje pomysły, powołując dodatkowe zmienne typu flaga zwiększając je w przerwaniu a resetując w pętli głównej itp. lecz coś mi nie wychodzi. Wiem że jest też coś takiego jak sprzętowa flaga "EIFR –External Interrupt Flag Register" ale w sumie nie wiem czy to może służyć do tego celu, a jak tak to jak z niej skorzystać w programie.