logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega 644P - przerwanie od przycisku - stale aktywne

gilraaen 16 Lip 2014 22:00 1128 2
REKLAMA
  • #1 13802426
    gilraaen
    Poziom 9  
    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.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    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.
  • REKLAMA
  • #3 13803659
    gilraaen
    Poziom 9  
    Dziękuję, faktycznie coś się zmieniło :)

    Dodano po 1 [godziny] 23 [minuty]:

    Zwykle jak ktoś rozwiąże swój problem to nie pokazuje sposobu.
    Tutaj nic wielkiego nie odkryłem, szczywronek dzięki za wskazówkę :)

    Oto kod obsługi przerwań z przycisku na mojej płytce AND-TECH evb5.1 z AtMega644P:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA