Timer synchronisieren

OP #4043032
Lesenswert?

Hey Leute ich hätte da ein Problem
und zwar möchte ich mit einem ATmega32 RGBs über pwm ansteuern. Einen 
Kanal dimmen ist kein Problem. Nur wenn ich versuche den einen Kanal 
dunkler und gleichzeitig den anderen heller zu machen funktioniert das 
nicht. Sondern zuerst läuft der eine Kanal durch also hell => dunkel => 
hell und dann der andere. Wie kann ich die zwei zuständigen Timer 
synchronisieren?
OP #4044234
Lesenswert?

der code schaut momentan so aus:
1
 #define F_CPU 16000000UL
2
#include <asf.h>
3
#include <util/delay.h>
4

5
int main (void)
6
{
7
  // Insert system clock initialization code here (sysclk_init()).
8

9
  board_init();
10
  
11
  DDRB |= (1<<PB3);  
12
  DDRD |= (1<<PD7);
13
    
14
                 
15
  TCCR0|=(1<<WGM00)|(1<<WGM01)|(1<<COM01)|(1<<CS00)|(1<<CS02);
16
  TCCR2|=(1<<WGM20)|(1<<WGM21)|(1<<COM21)|(1<<CS20)|(1<<CS22);
17
  int i=0;
18
  OCR0=10;
19
  OCR2=10;
20
  while (1)
21
  {
22
    for (;i<255;i++)
23
    {
24
      _delay_ms(10);
25
      OCR0 = i;
26
      OCR2 = 255-i;
27
      
28
    }
29
    
30
    for (;i>=5;i--)
31
    {
32
      _delay_ms(10);
33
      OCR0 = i;
34
      OCR2 = 255-i;
35
      
36
    }
37
    
38
    
39
  }
40
  return 0;                     
41
}

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