Witam !
W celach dydaktycznych bawiê siê procesorem AT91SAMS. Nie bardzo rozumiem dwóch spraw zwi±zanych z przerwaniami.
- 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 ?
- 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³