Ajć,
![Boi się :?](https://forum.atnel.pl/images/smilies/icon_e_confused.gif)
Wbijam się pod postem kolegi
xentis, napisałem to wysyłam. Będzie co poczytać
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
Popatrz...
![Cool 8-)](https://forum.atnel.pl/images/smilies/icon_cool.gif)
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)
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
![Obrazek](https://obrazkiforum.atnel.pl/thumb/11549/2e2401b294bf949a28880d3f5c9d1754.JPG)
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.
![Obrazek](https://obrazkiforum.atnel.pl/thumb/11549/15217399b3b04c5babf14a393b5cfb4b.JPG)
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ść .
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jakoś coś takoś.
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)
....................................................
55555 napisał(a):
I jeszcze jak włączać i wyłączać jakiś timer?
timer:
Załączyliśmy ustawiając preskaler
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)
.
Możemy timer wyłączyć usuwając ustawiony preskaler.
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)
![Obrazek](https://obrazkiforum.atnel.pl/thumb/11549/382000adba3e44ffd7d1569791da77e9.JPG)
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.
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)
pozdrawiam.