Witam Wszystkich!
Mam pewien problem z Atmegą 8 8MHz. Otóż potrzebuje sterować wypełnieniem 2 pwm-ów poprzez 2 potencjometry, 16-bitowy steruje serwem które skręca kołami, natomiast drugi 8 bitowy to pwm dla L293D do sterowania rpm silników. Problem polega na tym, że jak w mainie wywołuje funkcje konfiguracyjne, to oba timery leżą, natomiast gdy "wykomentuje" którykolwiek to ten "nie wykomentowany" działa poprawnie. Oto fragment mojego kodu uwzględniający konfiguracje obu timerów:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Powinienem jeszcze napisać w jaki sposób odczytuję z ADC (też miałem pewne błędy związane m.in z przerwaniami ale dzięki Panu Mirkowi powoli mi się rozjaśnia), ale problem tkwi zaraz na początku, bo gdy np "wykomentujemy" np u mnie timer2 to timer1 pięknie działa ustawiając serwo w pozycje początkową, manewrując wartością OCR1A serwo reaguje poprawnie podczas gdy silniki stoją. Dokładnie tak samo jest na odwrót, gdy wywalimy timer1 to zmieniając OCR2 wartościami 0-255 silniki pracują z żądaną prędkością.
Dodam, że timer0, którego wykorzystuję do odliczania różnych odcinków czasu działa poprawnie, jedyne pocieszenie.
Z góry dziękuję za pomoc.