Witam wszystkich!
Mam problem z przerwaniami PCINT. Używam ich do zliczania impulsów ( do wyświetlania obrotów wentylatora komputerowego). Problem że wynik który otrzymuje jest oo ok 20% inny niż rzeczywiste obroty. Tak samo obroty bardzo skaczą przy ok 1.5k skoki są rzędu 200+/- wciągu 1 sekundy, gdzie wentylator kręci się praktycznie tak samo +/- 10rpm.
Prosiłbym o weryfikacje kodu i pomoc w znalezieniu błędu....
Przerwania PCINT realizowalem na podstawie poradników z blogu Mirka.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Skracałem czas kiedy przerwania są wyłączone po przez wyrzucenie wyswietlanie w serial monitorze, poza obszar kodu gdzie przerwania są zablokowane, ale nie na wiele się to zdało.
Dziwne jest także coś takiego, że jak np nie podłacze nic pod pin PD3 (PCINT19) to i tak wyświetlają się jakieś wartości. Zatrzymanie wentylatora na PD2 skutkuje, że dopiero wtedy nie ma żadnych przerwań na tych pinach.
Z góry bardzo dziękuje