Witam. Zbudowałem układ, który składa się z dwóch części. Pierwsza to generator o częstotliwości 125kHz, druga to przetwornik ADC, który mierzy sygnał i zapala diody w zależności od niego.
Oba podukłady (podprogramy) oddzielnie działają poprawnie. Jednak jak skleiłem dwa kody (jeden od ADC drugi od generatora) to już zaczęły się schody.
Jak dotąd nie używałem dwóch przerwań w jednym programie i może stąd popełniłem błąd. Wstawiony kawałek kodu w ciele konfiguracji ADC umożliwił mi zlokalizowanie niepoprawnego działania.
PORTD = 0x02;
_delay_ms(100);
PORTD = 0x00;
_delay_ms(100);
Po wgraniu programu na PB1 mam przebieg prostokątny ale ADC nie działa. Po prostu dioda podłączona do PD1 mruga cały czas.
Czy takie zachowanie spowodowane jest priorytetem przerwań? Jak mogę pozbyć się go?
Dziękuje z góry za wszelką pomoc.
Oba podukłady (podprogramy) oddzielnie działają poprawnie. Jednak jak skleiłem dwa kody (jeden od ADC drugi od generatora) to już zaczęły się schody.
Jak dotąd nie używałem dwóch przerwań w jednym programie i może stąd popełniłem błąd. Wstawiony kawałek kodu w ciele konfiguracji ADC umożliwił mi zlokalizowanie niepoprawnego działania.
PORTD = 0x02;
_delay_ms(100);
PORTD = 0x00;
_delay_ms(100);
Po wgraniu programu na PB1 mam przebieg prostokątny ale ADC nie działa. Po prostu dioda podłączona do PD1 mruga cały czas.
Czy takie zachowanie spowodowane jest priorytetem przerwań? Jak mogę pozbyć się go?
Dziękuje z góry za wszelką pomoc.
Kod: C / C++
