mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik nochmal atmega8 3x pwm


Autor: lucifer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi.
also ich würde gerne wissen, wie ich am schnellsten
alle 3 pwm ports ansprechen kann.

alles was ich möchte ist 3 pwm kanäle die ich einzeln ansprechen kann.

im endeffekt möchte ich nur eine rgb led ansprechen.

also ich muss ja einmal die ports auf ausgang stellen.

das müsste doch so gehen oder?

  DDRB = (1<<PB1) | (1<<PB2) | (1<<PB3);
  PORTB = ~(1<<PB1) & ~(1<<PB2) & ~(1<<PB3);

dann muss ich pwm einschalten.
wieviel bit brauche ich? ich bruach ja nur von 0-255 für rgb farben.
das müsste dann 8 bit sein oder?
dann müsste ich den pwm ja so einstellen können.
TCCR1A =  (1<<WGM10) | (1<<COM1A1) | (1<<COM1A0) |(1<<COM1B1) | 
(1<<COM1B0);
TCCR1B = (1<<CS11) | (1<<WGM12); // was macht das hier??? brauch ich 
das?

8bit (/510):      7,8KHz, 980Hz, 122,5Hz, 30,6Hz, 7,7Hz
9bit (/1022):      3,9kHz, 488Hz, 61Hz, 15Hz, 3,8Hz
10bit (/2046):       1,95Khz, 244Hz, 30,5Hz, 7,6Hz, 1,9Hz*/

dann kann ich schonmal die ersten 2 ports so ansprechen:

OCR1A = 100;
OCR1B = 200;

aber wie spreche ich den 3. port an?
was wäre wirklich das MINIMUM???

also wirklich nur programmstart, auf pwm einstellen und jedem der 3 
kanäle einen wert zuweisen?

danke schonmal

mfg

lucifer

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moep

Autor: lucifer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weiß das denn niemand?
das kann doch nicht so schwer sein den 3. pwm ausgang anzusprechen :/

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tja, schau dir den Timer2 an, konfiguriere ihn, starte ihn und schreibe 
den Wert nach OCR2.

Autor: lucifer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok also ich muss schonmal timer1 und timer2 aktivieren.
was ist denn das MINIMUM um einen timer zu aktivieren.
und brauch ich 8bit? ist das richtig?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mein Gott, wo ist denn dein Problem mit dem Minimum?

Autor: lucifer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich will erst einmal wissen was überhaupt alles rein MUSS für das was 
ich vorhabe...und das habe ich ja schon geschrieben.

wo ist dein problem dass ich nur das nötigste drinhaben will?

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steht alles im Datenblatt....

1) Nachschauen, welche Werte in den Timer-Registern du für deine 
Funktionen brauchst.
2) Nachschauen, was die Reset-Default-Werte sind.
3) Vergleichen
4) Nur die Abweichenden Werte setzen
=> Minimum...
5) Wenn noch Fragen wie
TCCR1B = (1<<CS11) | (1<<WGM12); // was macht das hier??? brauch ich das 
 offen sind, die Antworten stehen zufällig auf den selben 
Datenblatt-Seiten.

Sorry, aber das Lesen des Datenblattes können wir dir nicht abnehmen.

Autor: lucifer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok danke schonmal.
habs jex.

//Ports auf an
DDRB = (1<<PB1) | (1<<PB2) | (1<<PB3);
PORTB = ~(1<<PB1) & ~(1<<PB2) & ~(1<<PB3);
//Timer 1 einschalten
TCCR1A =  (1<<WGM10) | (1<<COM1A1) | (1<<COM1A0) |(1<<COM1B1) | 
(1<<COM1B0); //8bit PWM, phase correct
TCCR1B = (1<<CS11) | (1<<WGM12);
//Timer 2 einschalten
TCCR2 = (1 << WGM20) | (1 << WGM21) | (1 << COM20) | (1 << COM21) | (1 
<< CS20);


aber ich werd es mir jex nochmal alles im datenblatt anschauen, was das 
genau ist.
und da ist ja noch ein unterschied zwischen timer 1 und timer 2 und das 
ist der letzte punkt.
naja werd mich mal durchlesen

danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.