finde problem bei simpler pwm nicht

OP #1481916
Lesenswert?

Hi:
ich steh grad auf dem schlauch und finde den fehler nicht, warum 
folgendes nicht funktioniert:
takt ist 1Mhz
1
  DDRB = 3;
2
  //init_timer;          
3
  // timer 0:
4
  TCCR0A = (1<COM0A1)|(1<<COM0A0)  // inverted PWM
5
          |(1<COM0B1)|(1<<COM0B0) // inverted PWM
6
          |(1<WGM01)|(1<<WGM00);
7

8
  TCCR0B =  (0<<WGM02)                // fast pwm
9
           |(0<<CS02)|(1<<CS01)|(0<<CS00);  // prescaler 8
10
 
11
  uint8 i =0;
12
  while(1){
13
     OCR0A =  i;
14
     OCR0B = ~i;
15
     ++i;
16
    _delay_ms(50);
17
  }
#1482039
Lesenswert?

LOL

 TCCR0A = (1<COM0A1)|(1<<COM0A0)  // inverted PWM
          |(1<COM0B1)|(1<<COM0B0) // inverted PWM
          |(1<WGM01)|(1<<WGM00);

Auszug daraus:  (1<COM0A1)

sind da 1 oder 2 < ?

(mit ein Grund, warum ich da immer Leerzeichen davor und danach mache
1
 TCCR0A =   ( 1 < COM0A1 ) | ( 1 << COM0A0 )  // inverted PWM
2
          | ( 1 < COM0B1 ) | ( 1 << COM0B0 ) // inverted PWM
3
          | ( 1 < WGM01  ) | ( 1 << WGM00  );

so fällt es optisch ein wenig besser auf.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren