Dzień dobry.
Usiłuję okiełznać przerwanie INT1 w AtMega 644P. Większość przykładów jest dla prostszych atmeg i stąd wynika mój problem.
Po uruchomieniu na wyświetlaczu stale widnieje "interrupt" - czyli przerwanie jest stale włączone.
Port przerwania INT1 - PA1 jest podłączony do przycisku zwierającego do masy.
Program nie wchodzi do pętli głównej, gdzie powinno być na wyświetlane odliczanie.
Myślę, że problem tkwi w rejestrach - te rejestry ustawiłem wg tego co wyczytałem w dokumentacji. Nie ma tu u mnie rejestrów MCUCR i GICR, jednak przerwanie działa - jakoś.
Zamysł programu: odliczaj w kółko do pięciu, wyświetl "interrupt" gdy nacisnę przycisk. potem powróć do odliczania.
Proszę o pomoc, jak ustawić to przerwanie? Które bity, w których rejestrach są potrzebne, a które nie? Wydaje mi się, że w Atmega 644P jest inaczej niż w tych prostszych AVRach.
Usiłuję okiełznać przerwanie INT1 w AtMega 644P. Większość przykładów jest dla prostszych atmeg i stąd wynika mój problem.
Po uruchomieniu na wyświetlaczu stale widnieje "interrupt" - czyli przerwanie jest stale włączone.
Port przerwania INT1 - PA1 jest podłączony do przycisku zwierającego do masy.
Program nie wchodzi do pętli głównej, gdzie powinno być na wyświetlane odliczanie.
Myślę, że problem tkwi w rejestrach - te rejestry ustawiłem wg tego co wyczytałem w dokumentacji. Nie ma tu u mnie rejestrów MCUCR i GICR, jednak przerwanie działa - jakoś.
Zamysł programu: odliczaj w kółko do pięciu, wyświetl "interrupt" gdy nacisnę przycisk. potem powróć do odliczania.
Kod: C / C++
Proszę o pomoc, jak ustawić to przerwanie? Które bity, w których rejestrach są potrzebne, a które nie? Wydaje mi się, że w Atmega 644P jest inaczej niż w tych prostszych AVRach.