Hallo! Ich versuche gerade mit einem Atmega32, 16Mhz ein Pwm-signal mithilfe des Timer 0 an Port PB3 (OC0) zu erzeugen. Ich programmiere in C: DDRB|=(1<<PB3) //PB3 als Ausgang TCCR0 = 0x7B; //phase correct PWM, clk/1024 OCR0=125; Kann jedoch am Port keine Spannung messen. Danke Christian
musst ihm schon noch sagen, was er machen soll -hellsehen kann der Timer nicht. TCCR0.
Kannste das ganze bitte in Shiftschreibweise schreiben? TCCR0 = (1<<WGM0)|(1<<CS02)... So wie ich das grad mit dem Datenblatt überprüft hab, kam raus: Clk/64, FastPWM. dave
@dave: Sorry war ein Tippfehler. Richtig: TCCR0|=(1<<COM00)|(1<<WGM01)|(1<<CS02)|(1<<CS00);
TCCR0 = (1<<COM01)|(1<<WGM00)|(1<<CS02)|(1<<CS00); WGM01 WGM00 0 1 PWM, Phase Correct 0xFF TOP BOTTOM COM01 COM00 1 0 Clear OC0 on compare match when up-counting. Set OC0 on compare match when downcounting. IMHO dave
Danke Dave! Das PWM signal erhalte ich jetzt einwandfrei. Aber wie kann man eigentlich aus dem PWM ein Analog-Signal erhalten? Gruss Christian
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.