Walczę z tym już od kilku dni, przekopałem większość postów dotyczących PWM, oraz notę katalogowa robię wszystko według niej i tak dalej nie działa.
Chcę ustawić PWM,Phase and Frequency Correct
Ustawiam wyjscia PB1 jako wyjscia nastepnie konfguruje bity COM1A1,COM1A2 zgodnie z tabela 38 strona 98. (ostani przykład dwie 1)
następnie konfiguruje bity WGM1 13, 12, 11, 10 dla mode 9(tabela 39 strona 99) z zapisem wartości TOP do OCR1A tak mi się wydaje ze o to chodzi
nastepnie ustalam prescaler wartosc TOP w rejestrze OCR1A, itp itd
kod programu:
Programator i mikro sprawny bo inne pogramy dobrze działają.
Pytania
- Wartość w rejestrze OCR1A jest wartością do której będzie zliczał tajmer wiec jak się steruje wypełnieniem.
-Zauważyłem także dziwne zachowanie po załadowaniu rejestru TCCR1A, zostaje wyzerowana starsza cześć(High) rejestru OCR1A w symulatorze AVRStudio4.
-Czy jest to poprawna konfiguracja i gdzie powinienem szukać błędu.
Chcę ustawić PWM,Phase and Frequency Correct
Ustawiam wyjscia PB1 jako wyjscia nastepnie konfguruje bity COM1A1,COM1A2 zgodnie z tabela 38 strona 98. (ostani przykład dwie 1)
następnie konfiguruje bity WGM1 13, 12, 11, 10 dla mode 9(tabela 39 strona 99) z zapisem wartości TOP do OCR1A tak mi się wydaje ze o to chodzi
nastepnie ustalam prescaler wartosc TOP w rejestrze OCR1A, itp itd
kod programu:
.include "m8def.inc"
.macro load
push R16
ldi R16, low(@1)
out @0, R16
ldi R16, high(@1)
out @0+1, R16
pop R16
.endmacro
.org 0x0000
rjmp Reset
Reset:
load SPL, RAMEND
load OCR1AL, 3445
ldi R16, 0x07
out DDRB, R16
ldi R16, 0b11000001
out TCCR1A, R16
ldi R16, 0b00010001 ;prescaler
out TCCR1B, R16
Main:
nop
rjmp Main
Programator i mikro sprawny bo inne pogramy dobrze działają.
Pytania
- Wartość w rejestrze OCR1A jest wartością do której będzie zliczał tajmer wiec jak się steruje wypełnieniem.
-Zauważyłem także dziwne zachowanie po załadowaniu rejestru TCCR1A, zostaje wyzerowana starsza cześć(High) rejestru OCR1A w symulatorze AVRStudio4.
-Czy jest to poprawna konfiguracja i gdzie powinienem szukać błędu.