Hallo, bin am Verzweifeln, hat von euch jemadn vieleicht eine Ahnung wieso von meinen ins OCR1B+C Register geschriebenen Werten nur das High Byte(OCR1BH) durchgeschoben wird und im Simulator des AVR Studius dan aber im OCR1BL ankommt. Die Reihenfolge müsste laut Manual eh so stimmen. Ich bin für jede Hilfe dankbar.
1 | |
2 | // WGM13:0 = 15 => FAST PWM mit OCR1x als TOP
|
3 | // COM1B1:0 + COM1C1:0 = 3 => Clear OCnA/OCnB/OCnC on compare match, set OCnA/OCnB/OCnC at TOP
|
4 | // CS12:0 = 2 => clkI/O/8 (From prescaler)
|
5 | TCCR1A |= (1<<COM1B1) |(1<<COM1B0) |(1<<COM1C1)|(1<<COM1C0) | (1<<WGM11) | (1<<WGM10); |
6 | |
7 | TCCR1B |= (1<<WGM13) | (1<<WGM12) |(1<<CS11); |
8 | |
9 | OCR1BH = 0xA3; |
10 | OCR1BL = 0xF1; |
11 | |
12 | OCR1C = 0xF0A2; |
13 | |
14 | TIMSK |= (1<<OCIE1B) | (1<<TOIE1); |
15 | |
16 | ETIMSK |= (1<<OCIE1C); |