Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATxmega - inicjacja obslugi przerwan

JohnCTN 04 Maj 2015 02:52 381 1
  • #1 04 Maj 2015 02:52
    JohnCTN
    Poziom 17  

    Witam

    siedzę od jakiegoś czasu i nie mogę za chiny uruchomić przerwań.
    Program piszę w assemblerze.

    chcę uruchomić przerwanie INT0 i INT1 na porcie E
    Oczywiście odpowiednie bity kierunkowe tego portu są ustawione na IN (czyli wyzerowane)

    Chcę wywołać przerwanie INT0 gdy na bicie1 portu E pojawi się zbocze opadające.
    Podobnie z drugim przerwaniem:
    Chcę wywołać przerwanie INT1 gdy na bicie 2 portu E pojawi się zbocze opadające.

    Układ jest tak zrobiony, ze nie ma możliwości aby na 2 bitach jednocześnie pojawiły się opadające zbocza, ponieważ jest to jeden sygnał, który został zanegowany i podany na drogą nóżkę.

    Tak więc może być tylko dana 2 bitowa "01" lub "10".

    może ktoś mi tutaj napisać w assemblerze jak mam zainicjować przerwania by to działało ?

    0 1
  • #2 04 Maj 2015 09:13
    tmf
    Moderator Mikrokontrolery Projektowanie

    W asemblerze ci nie napiszę, bo to niewygodne, ale musisz: skonfigurować rejestr kontrolny portu, tak aby następowało zdarzenie przy zboczu opadającym, odblokować przerwania portu IO poprzez określenie ich poziomu, odblokować dany poziom przerwań w rejestrze kontrolera przerwań i odblokować globalne zezwolenie na przerwania (sei). No i oczywiście napisać handler przerwania :)

    0