Witam Przy pomocy ATMega 162 potrzebuje zliczać impulsy przy wykorzystaniu liczników. Dwa liczniki powinny liczyć liczbę impulsów, a trzeci wypełnienie (czyli jaki procent czasu na wejściu była 1). Wartości chce odczytywać co
0.5 sekundy. Do odmierzania czasu chcę wykorzystać czwarty licznik.Z liczeniem impulsów raczej nie powinno być problemów, oba sygnały chce podpiąć do T0 i T1. Niestety nie znalazłem w jakim trybie powinien pracować licznik, by zliczał impulsy ("ATMega w praktyce BTC"), ale jeszcze pogrzebie w sieci. To chyba za trywialne pytanie na grupę.
Większy problem wydaje się licznik wypełnienia. W książce znalazłem tryb przechwytywania. Z tego co zrozumiałem, wykrywa zbocza narastające i opadające. Czy obliczenie wypełnienia polega na cyklicznym przełączaniu wykrywania narastającego, a potem opadającego zbocza? Czy jest może tryb, który liczy cykle, w którym wejście ma wartość 1? Tryb przechwytywania szczerze mówiąc by mi odpowiadał, bo korzysta z innego wejścia ICPx, a przy wykorzystaniu poprzednich wejść dla zliczania impulsów, brakło by mi pina wejściowego. W googlach nic ciekawego nie znalazłem, głównie generatory wypełnienia, a to raczej problem w drugą stronę.
Jak Wy byście to rozwiązali? Zależy mi na małym obciążeniu procesora, dlatego nie chcę tego robić na zasadzie cyklicznego odpytywania portu, tylko przy pomocy przerwań. Załóżmy, że częstotliwość impulsów jest max 100Hz, czyli i 8 bitowy licznik zliczy wszystko.
Pozdrawiam SRB