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
weiß das denn niemand? das kann doch nicht so schwer sein den 3. pwm ausgang anzusprechen :/
tja, schau dir den Timer2 an, konfiguriere ihn, starte ihn und schreibe den Wert nach OCR2.
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?
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?
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
1 | 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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.