Witam,
Chciałbym sobie "ręcznie" ustawić do pracy w trybie CTC Timer1. Tak aby generować na 2 wyjściach stały przebieg PWM.
próbuję to ustawiać tak:
częstotliwość taktowania procka to 8MHz, preskaler ustawiony na 256, tryb pracy CTC bity WGM1x, zmiana stanu wyjścia przy porównaniu Com1xx
i wszystko jest niby pięknie ale tylko wtedy gdy nie ustawiam
czyli gdy zaremuję te linijki powyżej (w ogóle nie wpisuję wartości do OCR1BH i OCR1BL to wtedy obydwa wyjścia działają mi z taką częstotliwością jaka ustawiłem w OCR1AH i OCR1AL.
o co może tu chodzić? co źle robię? wydawało mi się, że w trybie CTC mogę za pomocą OCR1A i OCR1B oddzielnie regulować częstotliwość na wyjściach OC1A i OC1B - a tymczasem jakby wszystko było uzależnione tylko od OCR1A .... już późno - może mi się już miesza wszystko i dlatego nie widzę błędu w tym co robię
Chciałbym sobie "ręcznie" ustawić do pracy w trybie CTC Timer1. Tak aby generować na 2 wyjściach stały przebieg PWM.
próbuję to ustawiać tak:
Ocr1ah = High(1562) 'ma być 10Hz
Ocr1al = Low(1562)
Ocr1bh = High(3124) 'ma być 5Hz
Ocr1bl = Low(3124)
' zmiana stanu wyjścia OC1A na przeciwny, przy porównaniu
' zmiana funkcji pinów OC1A i OC1B
Tccr1a.com1a1 = 0
Tccr1a.com1a0 = 1
Tccr1a.com1b1 = 0
Tccr1a.com1b0 = 1
' ustawiamy Timer1 w tryb CTC - porównywanie z OCR1A
Tccr1a.wgm11 = 0
Tccr1a.wgm10 = 0
Tccr1b.wgm13 = 0
Tccr1b.wgm12 = 1
' ustawienia preskalera na 256
Tccr1b.cs10 = 0
Tccr1b.cs11 = 0
Tccr1b.cs12 = 1częstotliwość taktowania procka to 8MHz, preskaler ustawiony na 256, tryb pracy CTC bity WGM1x, zmiana stanu wyjścia przy porównaniu Com1xx
i wszystko jest niby pięknie ale tylko wtedy gdy nie ustawiam
Ocr1bh = High(3124) 'ma być 5Hz
Ocr1bl = Low(3124)czyli gdy zaremuję te linijki powyżej (w ogóle nie wpisuję wartości do OCR1BH i OCR1BL to wtedy obydwa wyjścia działają mi z taką częstotliwością jaka ustawiłem w OCR1AH i OCR1AL.
o co może tu chodzić? co źle robię? wydawało mi się, że w trybie CTC mogę za pomocą OCR1A i OCR1B oddzielnie regulować częstotliwość na wyjściach OC1A i OC1B - a tymczasem jakby wszystko było uzależnione tylko od OCR1A .... już późno - może mi się już miesza wszystko i dlatego nie widzę błędu w tym co robię