Ajć,

Wbijam się pod postem kolegi
xentis, napisałem to wysyłam. Będzie co poczytać

Popatrz...

Chcę ustawić timer_2 w tryb CTC:
Na stronie 226 DS'a widzę że muszę załączyć bit
WGM21, który znajduje się w rejestrze
TCCR2.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Potem ustawiam preskaler np. na 1024 (
CS22 i
CS20 ) w rejestrze też
TCCR2 ,zgodnie z notą strona 228 i 226.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Na marginesie: bit CS21 pozostawiamy bez zmian (domyślnie jest wyzerowany)


ustawiam dodatkowy podział zezwalając licznikowi zliczać do np 77. (78 tyknięć razem z zerem).
8000000 / 1024 / 78 = ~100,1Hz (10ms).
albo do 155(156 tyknięć)
8000000 / 1024 / 156 = ~50Hz (20ms).
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
teraz czas na zezwolenie na przerwanie od porównania z wartością rejestru OCR2.

język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
teraz potrzebujemy obsłużyć nasze przerwanie.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Złóżmy to w całość .

język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jakoś coś takoś.

....................................................
55555 napisał(a):
I jeszcze jak włączać i wyłączać jakiś timer?
timer:
Załączyliśmy ustawiając preskaler

.
Możemy timer wyłączyć usuwając ustawiony preskaler.


o tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
albo wyłączyć tylko nasze przerwanie :
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

pozdrawiam.