Forum: Mikrocontroller und Digitale Elektronik PWM mit Mega8


von flybee (Gast)


Lesenswert?

Hallo,

Ich wollte an meinem Mega 8 ein PWM signal ausgeben um es dann in eine
ANalog Spannung umzuwandeln.

Nach nach Aplication Note AVR130 sollte das so gehen:

ldi r16,0x94
Out Tccr2 , R16  ' 8 bit PWM non-inverted (Fck/510)
ldi r16,0x80
Out Ocr2 , R16    ' Set compare value/duty cycle ratio
ldi r16,0xFF
Out Ddrb , R16   ' Set PD7/OC2 and low nibble Port b as output

Mit einem Multimeter ist die Spannung an Pin B3 aber immer 0 V. Sollte
aber doch bei einem DutyCycle von 50% bei 2.5V liegen.

Was stimmt nicht?

von Thorsten F. (thorsten)


Lesenswert?

richtungsbit in ddrb für pb3 gesetzt?

von flybee (Gast)


Lesenswert?

Ja Richtungsbir sitzt auf eins.
Ich habs mal in Bascom versucht mit:

Config Portb = Output

Config Timer2 = Pwm , Compare A Pwm = Clear Down , Compare B Pwm =
Clear Down , Prescale = 1

Ocr2 = 100

Aber das funktioniert auch nicht.

von Sebastian Heyn (Gast)


Lesenswert?

Mal mit PWM1A/1B versucht, also grundlegend?

von flybee (Gast)


Lesenswert?

also PWM1A und 1B gehen ohne Probleme

von Spess53 .. (hardygroeger)


Lesenswert?

Hi

mit TCCR2=$94 ist das Portpin vom Timer getrennt. Bit6 und 7 in TCCR2
(COM21/COM20) bestimmen die Ausgabe an OC2. Siehe Datenblatt.

Mfg HG

von Spess53 .. (hardygroeger)


Lesenswert?

Tschuldigung meinte Bit5 und 6.

MfG HG

von flybee (Gast)


Lesenswert?

also in Binary darstellung muesste es 01101001 sein.
Com21 ist bit 5
com20 ist bit 4

http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf
Seite 117

Aber es geht immer noch nicht.

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.