ATiny2313 und PWM

Gast #703700
Lesenswert?
• ▲
▼
Hallo,
ich hab gerade ein problem..
Laut Datenblatt hat der ATiny2313 4 PWM "Kanäle": OC0A, OC0B, OC1A, OC1B
Hat einer vllt mal ein kleines Codebeispiel in C? Weil da komm ich im 
Moment irgendwie nicht so recht weiter... OC1A/OC1B funktionieren, aber 
irgendwie häng ich nun.
Wär echt nett wenn mal jemand Zeit hätte um sich das anzuschauen. Das 
ganze ist für eine RGB-LED Matrix... ;)

Viele Grüße,
   Johannes
Gast #703794
Lesenswert?
• ▲
▼
Da kannst du doch einfach in der codesammlung oder im avr gcc tutorial 
gucken!?
alternativ beschreiben, was du nicht verstehst / wo das problem ist
ggf. zusätzlich dein programm hier reinstellen
Gast #703953
Lesenswert?
• ▲
▼
Hallo,
okay, hier erstmal der Code:
1
#include <avr/io.h>
2

3
int main(void)
4
{
5
  pwm_init();
6

7
  OCR1AL = 10;
8
  OCR1BL = 50;
9

10
  while (1)
11
    ;
12
}
13

14
void pwm_init(void)
15
{
16
  DDRB = 0xff;
17

18
  TCCR1A = (1<<COM1A1) | (1<<COM1B1) | (1<<WGM10);
19

20
  TCCR1B = (1<<CS10);
21
}

Soweit geht ja auch alles...
Nur wie spreche ich die PWM Kanäle OC0A und 0C0B an? Das schaffe ich 
eben nicht...
Gast #703966
Lesenswert?
• ▲
▼
Gehören die nicht zum 8 bit Timer 0 ?

Als ich vor einiger Zeit was mit dem t2313 gemacht habe, waren im 
Datenblatt ziemliche viele Bezeichnungen durcheinandergebracht, also gut 
aufpassen, dass da kein Quatsch steht.
Gast #703982
Lesenswert?
• ▲
▼
Tja, Timer1 ist eben Timer1 und Timer0 und Timer0 ist eben Timer0. Du 
musst Timer1 und Timer0 halt separat programmieren / initialisieren.

Register von Timer 1 (16Bit):

   TCCR1A
   TCCR1B
   TCCR1C
   TCNT1H und TCNT1L
   OCR1AH und OCR1AL (zusammengefasst: OCR1A)
   OCR1BH und OCR1BL (zusammengefasst: OCR1B)
   ICR1H und ICR1L   (zusammengefasst: ICR1)


Register von Timer 0 (8Bit):

   TCCR0A
   TCCR0B
   TCNT0
   OCR0A
   OCR0B

Gruß,
Magnetus

[Edit]
Nein, man kann mit Timer0 keine 10Bit-PWM realisieren.
[/Edit]

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