-
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