Guten Tag;
Ich würde gerne alle drei Kanäle des ATMega8 nutzen, aber ich bekommen
nur an OCRA1 und OCRB1 ein Signal, OCR2 bleibt tot... wodran liegt's? So
sieht mein Code bislang aus
1 | int main(void)
|
2 | {
|
3 |
|
4 |
|
5 | // OC1A, OC1B, OC2 auf Ausgang
|
6 | DDRB = (1 << PB1 ) | (1 << PB2 ) | (1 << PB3 );
|
7 |
|
8 |
|
9 | TCCR1A = (1<<COM1A1) | (1<<WGM10); // PWM Phase correct, 8Bit
|
10 | // Clear OCR1A/B on Compare Match when up-counting.
|
11 | // Set OCR1A/B on Compare Match when downcounting.
|
12 | TCCR1B = (1<<CS10); // keinen Vorteiler
|
13 |
|
14 | TCCR2 = (1<<WGM20) | (1<<COM21) | (1<<CS20); // PWM Phase correct, 8Bit
|
15 | // Clear OC2 on Compare Match when up-counting.
|
16 | // Set OC2 on Compare Match when downcounting.
|
17 | // keinen Vorteiler
|
18 |
|
19 |
|
20 |
|
21 | OCR1A = 0x0080; // der Zähler zählt bis zu diesen Werten
|
22 | OCR1B = 0x0040;
|
23 | OCR2 = 0x20;
|
24 |
|
25 | while (1){
|
26 | ;
|
27 | };
|
28 | }
|
Bin für jeden Tipp dankbar...