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

Xmega Isr język C events system

Fajfer2 17 Cze 2011 07:00 2060 6
REKLAMA
  • #1 9621756
    Fajfer2
    Poziom 20  
    W jaki sposób należy stosować makro Isr w Xmega c
  • REKLAMA
  • Pomocny post
    #2 9621763
    cpkpiotr
    Poziom 13  
    Prawdopodobnie ta stronka będzie pomocna:
    url=http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html
  • REKLAMA
  • Pomocny post
    #3 9621970
    tmf
    VIP Zasłużony dla elektroda
    Dokładnie w taki sam sposób jak w ATMega. Różnice występują w konfiguracji całego podsystemu przerwań.
  • REKLAMA
  • #4 9626692
    Fajfer2
    Poziom 20  
    Dzięki za odpowiedzi, poradziłem sobie oglądając noty aplikacyjne xmega oraz różne informacje w Internecie, tak więc:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Przerwanie:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #5 9637087
    Fajfer2
    Poziom 20  
    Nie rozumiem jednak zmian priorytetu. Po ustawieniu
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

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

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

    przerwanie jest wyzwalane.
    Dlaczego ustawienie
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    nie powoduje wyzwolenia przerwania ? Przecież na porcie A mam ustawiony wysoki priorytet, czyli powinno wyzwalać się, gdy włączony jest niski priorytet.
    Jak przestawić wspomniany priorytet przerwań ?
  • Pomocny post
    #6 9645814
    tomhandyman
    Poziom 13  
    Priorytety są jak osobne grupy przerwań odnośnie załączania. Chcesz mieć hi_level musisz załączyć hi_level. Ich relacja wystepuje wtedy gdy obsługując przerwanie low_level dostajesz przerwanie med_level lub hi_level, to lo_level zostaje wstrzymane na czas realizacji med_level lub hi_level.
  • #7 9646362
    Fajfer2
    Poziom 20  
    Dokładnie tak, wystarczy ustawienie danego przerwania na poziom "hi" aby uzyskać zmianę priorytetu na wysoki. Ustawieniem maski można wyłączyć daną grupę przerwań.
    Dzięki - temat zamykam.
REKLAMA