Dva PWM u ATTINY13 současně ?
Moderátor: Moderátoři
- elnovy
- Doporučuje se dohled statného moderátora
- Příspěvky: 884
- Registrován: 04 črc 2010, 00:00
- Bydliště: JČ
Dva PWM u ATTINY13 současně ?
ldi R16,0b10000011
out TCCR0A,R16 ; Fast PWM Mode, Clear on OC0A
;------------------------------------------VOLBA FRAKVENCE---------------------------------
ldi R16,0b00000010 ;TCCR0B = FOC0A ,FOC0B, –, –, WGM02 ,CS02 ,CS01, CS00
;CS02 CS01 CS00 Description
;0 0 0 No clock source (Timer/Counter stopped)
;0 0 1 clkI/O/(No prescaling)........T=200mikrosec
;0 1 0 clkI/O/8 (From prescaler).............T=2ms
;0 1 1 clkI/O/64 (From prescaler).............T=14ms
;1 0 0 clkI/O/256 (From prescaler).............T=60ms
out TCCR0B,R16 ; Used fclk/256 prescale
;------------------------------------------VOLBA STRIDY--------------------------------
LDI R16,0b10000000 ; ROZSAH HODNOT 0B11111110 = MAX ....0B00000001 = MIN
out OCR0B,R16 ; OCR0A = R16
;------------UKONCENI VOLBY PWM-------------------------------------------------------
Dle pdf MÁ PROCESOR DVA VÝSTUPY pwm ALE NENI MI JASNÉ JAK ZPROVOZNIT DRUHEJ KANÁL pwm TAK ABY BĚŽELY OBA DVA NARÁZ NEZÁVISLE ...DRUHEJ KANÁL PWM = PB1=OC0B
----
PODLE MÉHO TO NEJDE ABY BĚŽELY OBA DVA KANÁL PWM SOUČASNĚ
NEBO SE MÍLÍM ???
Děkuju za odpověď .
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
- elnovy
- Doporučuje se dohled statného moderátora
- Příspěvky: 884
- Registrován: 04 črc 2010, 00:00
- Bydliště: JČ
funguje to dik pro pana Ondra2
; Initial I/O
ldi R16,0b00010011 ; Set PB0=Output,PB1=Output, PB2=Input, PB3=Input,PB4=Output
out DDRB,R16 ; DDRB=0x13
; Initial PWM KANALů OC0A a OC0B = dvou kanalů
ldi R16,0b10100011 ;VSECHNY KANALY ZAPNUTY
out TCCR0A,R16 ; Fast PWM Mode, VSECHNY KANALY ZAPNUTY
;---------------------------VOLBA FRAKVENCE---------------------------------
ldi R16,0b00000010 ;TCCR0B = FOC0A ,FOC0B, –, –, WGM02 ,CS02 ,CS01, CS00
out TCCR0B,R16 ; Used fclk/256 prescale
;----------------------VOLBA STRIDY kanalu A--------------------------------
LDI R16,0b10000000 ; ROZSAH HODNOT 0B11111110 = MAX ....0B00000001 = MIN
out OCR0A,R16 ; OCR0A = R16
;----------------------VOLBA STRIDY kanalu B--------------------------------
LDI R16,0b11110000 ; ROZSAH HODNOT 0B11111110 = MAX ....0B00000001 = MIN
out OCR0B,R16 ; OCR0A = R16
N100: RJMP N100
Pro ATMEGA 328 kterej ma 6 kanálů PWM nezavislejch
bude tedy pokud budu chtiti mit všech šest PWM v provozu
ldi R16,0b10100011 ;VSECHNY KANALY ZAPNUTY
out TCCR0A,R16 ; Fast PWM Mode, VSECHNY KANALY ZAPNUTY
Snad je to tak dobře ???
Ondro ještě jednou děkuji .
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
elnovy píše:Pro ATMEGA 328 kterej ma 6 kanálů PWM nezavislejch
bude tedy pokud budu chtiti mit všech šest PWM v provozu
Nerozumím řeč tvá kmen
Nícméně to že ta 328 má 6 PWM kanálů neznamená že se všechny zapnou tím samým registrem. U 328 bude ten rozdíl, že těch 6 PWMek bude na 3 timerech (pokud vím má 2x8bit a jeden 16bit timer), takže mód, předděličku atd. je potřeba nastavit pro všechny timery a compare match bloky. Chce to nastudovat datasheet, tam je to pěkně i s blokovýma schématama timerů.