Na wstepie przepraszam za brak polskich znakow, ale pisze z kompa, na ktorego Windowsie nie sa one ustawiojne.
Problem jak w temacie - przyciski podpinam do portow PD0 (shift) i PD2("normalny" przycisk wywolujacy INT0) i ustawiam pull-up'y. Samo wywolanie przerwania dziala bez zarzutu, nie dziala natomiast wykrywanie wcisnietego shifta.
Jak widac w pierwszej linijce kodu obslugi przerwania, sprobowalem sprawdzac zarowno dla wcisnietego tylko jednego przycisku (SHIFT) jak i dla wcisnietych obu (shift i klawisz zwiekszajacy zmienna). uC zawsze zachowuje sie tak, jakby shift byl wcisniety, niezaleznie od tego czy jest on naprawde wcisniety czy nie. Prosze o pomoc.
Strategiczny fragment kodu:
[/code]
Problem jak w temacie - przyciski podpinam do portow PD0 (shift) i PD2("normalny" przycisk wywolujacy INT0) i ustawiam pull-up'y. Samo wywolanie przerwania dziala bez zarzutu, nie dziala natomiast wykrywanie wcisnietego shifta.
Jak widac w pierwszej linijce kodu obslugi przerwania, sprobowalem sprawdzac zarowno dla wcisnietego tylko jednego przycisku (SHIFT) jak i dla wcisnietych obu (shift i klawisz zwiekszajacy zmienna). uC zawsze zachowuje sie tak, jakby shift byl wcisniety, niezaleznie od tego czy jest on naprawde wcisniety czy nie. Prosze o pomoc.
Strategiczny fragment kodu:
Kod: C / C++