RTV forum PL | NewsGroups PL

AT91SAM7S: Dlaczego przerwania od Timera i PIOA blokują główny program?

AT91SAM7S przerwania

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - AT91SAM7S: Dlaczego przerwania od Timera i PIOA blokują główny program?

Paweł
Guest

Sat Feb 14, 2009 10:53 pm   



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ł

zbyszek
Guest

Sun Feb 15, 2009 7:41 pm   



Quote:
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

Quote:

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ł.

Quote:
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ę


Quote:
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

elektroda NewsGroups Forum Index - Elektronika Polska - AT91SAM7S: Dlaczego przerwania od Timera i PIOA blokują główny program?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map