Cześć. Napisałem swój pierwszy program na przerwaniach, ale nie działa on do końca tak jak zamierzałem.
Układ jest taki, że pod port B mam podpiętą diodę/diody, a pod wejście wywołujące przerwanie PD3 (INT1) mam podłączony oscylator o zmiennej częstotliwości w zakresie od 0 do +/- 30Hz.
Program miał polegać na tym, że powyżej granicznej częstotliwości zapala się dioda, a poniżej jest zgaszona.
Gdy kręcę częstotliwość w górę dioda ładnie się zapala za każdym razem, gdy kręcę w dół powoli - dioda gaśnie, jednak gdy skręcę częstotliwość nagle do 1-2Hz dioda dalej się świeci i gaśnie po 2-3 cyklach, lub czasem nawet wcale nie gaśnie. gdy wrócę częstotliwością góra-dół powoli wszystko wraca do normy.
Dlaczego układ może się tak zachowywać?
Układ jest taki, że pod port B mam podpiętą diodę/diody, a pod wejście wywołujące przerwanie PD3 (INT1) mam podłączony oscylator o zmiennej częstotliwości w zakresie od 0 do +/- 30Hz.
Program miał polegać na tym, że powyżej granicznej częstotliwości zapala się dioda, a poniżej jest zgaszona.
Gdy kręcę częstotliwość w górę dioda ładnie się zapala za każdym razem, gdy kręcę w dół powoli - dioda gaśnie, jednak gdy skręcę częstotliwość nagle do 1-2Hz dioda dalej się świeci i gaśnie po 2-3 cyklach, lub czasem nawet wcale nie gaśnie. gdy wrócę częstotliwością góra-dół powoli wszystko wraca do normy.
Dlaczego układ może się tak zachowywać?
Kod: C / C++
