eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › AT91SAM7S przerwania
Ilość wypowiedzi w tym wątku: 2

  • 1. Data: 2009-02-14 21:53:35
    Temat: AT91SAM7S przerwania
    Od: Paweł <p...@n...pl>

    Witam !

    W celach dydaktycznych bawię się procesorem AT91SAMS.
    Nie bardzo rozumiem dwóch spraw związanych z przerwaniami.

    1. Włączyłem przerwanie od Timera.
    W rejestrze AIC_SMR ustawiłem SRCTYPE na "High level Sensitive"
    Przerwanie działa prawidłowo. Ale tylko jeśli w nim odczytuję rejestr
    TC0_SR. Jeśli tego nie robię to przerwanie wykonuje się w kółko tzn. nie
    wykonuje się program główny. Z jakiego powodu tak się dzieje ?

    2. Włączyłem przerwanie od PIOA.
    W rejestrze AIC_SMR ustawiłem SRCTYPE na "High level Sensitive"
    Wszytko działa prawidłwo.
    Zmieniam SRCTYPE na "Positive edge triggered". Podobnie jak w przypadku
    Timera przerwanie wykonuje się w kółko co blokuje procesor.
    Dzieje się tak nawet gdy w przerwaniu wpisuję do PIOA__IDR same jedynki.
    Czyli wyłączam przerwania od PIOA. Z jakiego powodu się tak dzieje ?

    Paweł


  • 2. Data: 2009-02-15 18:41:09
    Temat: Re: AT91SAM7S przerwania
    Od: "zbyszek" <z...@o...eu>

    > 1. Włączyłem przerwanie od Timera.
    > W rejestrze AIC_SMR ustawiłem SRCTYPE na "High level Sensitive"
    > Przerwanie działa prawidłowo. Ale tylko jeśli w nim odczytuję rejestr
    > TC0_SR. Jeśli tego nie robię to przerwanie wykonuje się w kółko tzn. nie
    > wykonuje się program główny. Z jakiego powodu tak się dzieje ?

    Nie znam akurat tego procka ale ogólnie w przerwaniu sprzętowym musisz
    potwierdzić jego przyjęcie, wyzerować jakąś flagę, inaczej zgłasza się w
    kółko

    >
    > 2. Włączyłem przerwanie od PIOA.
    > W rejestrze AIC_SMR ustawiłem SRCTYPE na "High level Sensitive"
    > Wszytko działa prawidłwo.
    A jesteś pewien że przerwanie obsługujesz tylko raz? Może kręcisz się w
    przerwaniu aż nie zniknie zewnętrzny sygnał.

    > Zmieniam SRCTYPE na "Positive edge triggered". Podobnie jak w przypadku
    > Timera przerwanie wykonuje się w kółko co blokuje procesor.
    pewnie to co w 1. ->zbocze ustawia jakąś flagę

    > Dzieje się tak nawet gdy w przerwaniu wpisuję do PIOA__IDR same jedynki.
    > Czyli wyłączam przerwania od PIOA. Z jakiego powodu się tak dzieje ?

    - czyli nowe już nie przyjdzie ale aktualne musisz do końca obsłużyć.


    zbyszek


strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: