Cześć,
Mam mały problem Timerem sprzętowym. Coś robię źle, ale nie mam pomysłu co
Mianowicie chcę zrobić generatorek, który generuję sygnał prostokątny z określoną częstotliwością. Częstotliwość jest zmieniana poprzez zmianę wartośći rejestru OCR1A. Procek to Atmega 328PB taktowana kwarcem 16 Mhz.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Zmiana wartości rejestru jest realizowana poprzez podział Dzielnika który ma wartość 15 625. Wartość tą dzielę przez wartość zmiennej enkoder1, która wynosi kolejno 1,2,3 itd. w zależności jak kręcę enkoderem.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wszystko jest ok, założenia spełnione. Lecz zaobserwowałem dziwne zachowanie. Mianowicie podczas zmiany wartości zmiennej enkoder1, procek jakby na chwilę przystaje i po chwili realizuję generowanie sygnału. Na wyjściu mam podłączoną diodę więc jak zmieniam częstotliwość to miga szybciej albo wolniej, ale zdarzają się momenty, że na chwilę jakby procek się zatrzymał i dioda nie świeci.
A może to przez to, że podczas dzielenia generuje się liczba po przecinku a jak mam typ int ?? Co myślicie ??