Witam wszystkich.
Kilka dni temu zacząłem przygodę z AVR i dziś trafiłem na problem nie do pokonania.
Chcę mieć możliwość generowania tonów ostrzegawczych (beepów) za pomocą Timera1, wyjścia OC1A i trybu CTC.
Kod wygląda tak:
Funkje pomocnicze
Main:
Oczekiwany rezultat
Powinno być słychać 3 krótkie, oddzielone od siebie beepy, o rosnącej częstotliwości
Co się dzieje:
Po naciśnięciu przycisku następuje 1 z 4 wariantów:
1. Nic nie słychać
2. Słychać 2 pierwsze beepy
3. Słychać 2 ostatnie beepy
4. Słychać pierwszy beep
Dlaczego tak się dzieje?
Timer wydaje mi się naturalnym sposobem generowania beepów. Próbowałem na delay'ach, ale wyszło to koszmarnie. Jestem początkujący, więc pewnie o czymś zapomniałem. Może trzeba wyzerować jakiś rejestr timera? Proszę o pomoc.
Kilka dni temu zacząłem przygodę z AVR i dziś trafiłem na problem nie do pokonania.
Chcę mieć możliwość generowania tonów ostrzegawczych (beepów) za pomocą Timera1, wyjścia OC1A i trybu CTC.
Kod wygląda tak:
Funkje pomocnicze
Kod: C / C++
Main:
Kod: C / C++
Oczekiwany rezultat
Powinno być słychać 3 krótkie, oddzielone od siebie beepy, o rosnącej częstotliwości
Co się dzieje:
Po naciśnięciu przycisku następuje 1 z 4 wariantów:
1. Nic nie słychać
2. Słychać 2 pierwsze beepy
3. Słychać 2 ostatnie beepy
4. Słychać pierwszy beep
Dlaczego tak się dzieje?
Timer wydaje mi się naturalnym sposobem generowania beepów. Próbowałem na delay'ach, ale wyszło to koszmarnie. Jestem początkujący, więc pewnie o czymś zapomniałem. Może trzeba wyzerować jakiś rejestr timera? Proszę o pomoc.