Forum: Mikrocontroller und Digitale Elektronik Timer synchronisieren


von Stefan H. (stefan_h81)


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?

: Verschoben durch User
von Samuel C. (dragonsam)


Lesenswert?

Schaltplan? Code?

von Falk B. (falk)


Lesenswert?

@ Stefan H. (stefan_h81)

>hell und dann der andere. Wie kann ich die zwei zuständigen Timer
>synchronisieren?

Indem man einfach nur EINEN Timer nimmt.

von Stefan H. (stefan_h81)


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
}

von Falk B. (falk)


Lesenswert?

@ Stefan H. (stefan_h81)

>der code schaut momentan so aus:

Schön. Dass dabei die beiden Prozesse des Fading nacheinander ausgeführt 
werden, sieht man ja. Wenn es PARALLEL sein soll, muss man es etwas 
abändern. Wie das geht steht im Artikel Multitasking.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.