Was mache ich falsch? Ich möchte mein TOP über OCR0A steuern aber wenn ich den Wert für OCR0A ändere, ändert sich die PWM-Frequenz nicht und ich habe hier auch kein duty von 1/3. Bin für jeden Tipp dankbar.
1 | DDRB |= (1 << PB1); // output 1 (OC0B) |
2 | |
3 | TCCR0A |= (1 << WGM00) | (1 << WGM01); // fast pwm |
4 | TCCR0A |= (1 << WGM02); // set top by OCRA |
5 | |
6 | TCCR0A |= (1 << COM0B1); // enable output channel b |
7 | TCCR0A |= (1 << COM0B0); // invert channel b |
8 | |
9 | TCCR0B |= (1 << CS00); // scale |
10 | |
11 | OCR0A = 30; |
12 | OCR0B = 10; |
13 | |
14 | while (1) |
15 | {
|
16 | _delay_ms(10); |
17 | }
|