Sprawa jest następująca, zaprojektowałem na ATMega mały system który używa kliku przerwań sprzętowych a mianowice INT0,INT1, oraz przerwania timera Timer0,Timer1.
Dodatkowo program (w C) obsługuje przetworniki ADC oraz DAC podłączone pod magistralę SPI. Generalnie wszystko działa OK ale czasem pojawiają się nieprawidłowe wartości napięć na wyjściu przetworników DAC. Z dotychczasowej analizy zagadnienia wychodzi mi że w programie obsługi powinno być wszystko OK ale praktyka wykazuje jednak co innego.
Podejżenie padało w takim razie na przerwania i pytanie jest następujące czy w czasie obsługi transmisji SPI nei powinienem blokować przerwań przynajmniej tych które sa najdłuższe w w swoim wykonaniu ?
Dodatkowo program (w C) obsługuje przetworniki ADC oraz DAC podłączone pod magistralę SPI. Generalnie wszystko działa OK ale czasem pojawiają się nieprawidłowe wartości napięć na wyjściu przetworników DAC. Z dotychczasowej analizy zagadnienia wychodzi mi że w programie obsługi powinno być wszystko OK ale praktyka wykazuje jednak co innego.
Podejżenie padało w takim razie na przerwania i pytanie jest następujące czy w czasie obsługi transmisji SPI nei powinienem blokować przerwań przynajmniej tych które sa najdłuższe w w swoim wykonaniu ?