Witam,
mam pewien problem.. Program po wejściu w przerwanie nie chce wrócić do głównej pętli programu. W pliku main inicjalizuję podzespoły (RTC i LCD) oraz ustawiam wszystko by umożliwić przerwania INT0. Pin ustawiony jako wejście, podciągnięty sprzętowo do VCC oraz odpowiednie rejestry są ustawione by reagował na zmianę stanu ("oba zbocza"). W obsłudze przerwania jest prosty kod który ma za zadanie wyświetlić na LCD jaki obecnie stan się znajduje na pinie PD2 ( 0 lub 1). Po odpaleniu programu zegarek tyka (tak jak wcześniej, wszystko OK) a po wejściu w przerwanie poprawnie wyświetla się wartość na pinie lecz zegar się zatrzymuje :C Kolejne generowanie przerwań skutkuje zmianami wyświetlanych wartości pinu lecz zegar cały czas jest zamrożony. Dodam że zarówno RTC jak i LCD są połączone poprzez I2C. Proszę o pomoc.
Pozdrawiam.
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
------------------------ [ Dodano po: 16 minutach ]Problem rozwiązany, okazało się że czas potrzebny na wyświetlenie czegoś na wyświetlaczu jest zbyt długi by umieszczać go w przerwaniu.