Ich brauch 3PWMs für eine BLDC Ansteuerung, habe (m169) Timer1ovf als
Taktgeber, um die lookup-table auszulesen und jeweils noch Timer0 und 2.
Timer1 und die zugehörige PWM laufen einwandfrei, die beiden anderen
aber leider gar nicht. Kann mir jemand ein assemblerschnipsel geben wie
man die Timer für phase-correct PWM richtig initialisiert?
bisher hab ich das so:
1 | ldi temp, 0b00000001 ; Interupt on ovf
|
2 | sts TIMSK1, temp
|
3 |
|
4 | ldi temp, (1<<COM0A1)|(1<<WGM00)|(1<<CS00)
|
5 | sts TCCR0A, temp
|
6 |
|
7 | ldi temp, (1<<COM1B1)|(1<<WGM10)
|
8 | sts TCCR1A, temp
|
9 | ldi temp, (1<<CS10)
|
10 | sts TCCR1B, temp
|
11 |
|
12 | ldi temp, (1<<COM2A1)|(1<<WGM20)|(1<<CS20)
|
13 | sts TCCR2A, temp
|