PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OC2 beim ATMega 32 Softwareproblem



core
17.11.2006, 18:24
Hi,

Kann mir jemand mal einen code liefern für den den OC2 im PWM Modus schicken?
Ich hab den gleichen Summer an den Port angeschlossen wie an der RN-Control, aber irgendwie kommen da nur total tiefe Töne raus mit meinem code:

TCCR2 = (1 << WGM20) | (1<< COM21) | (1<< CS20) | (1<<CS21) | (1<<CS22);
OCR2 = 127;

Hab ich was falsch gemacht?
Aus dem Datenblatt zum 32er werd ich nicht so richtig schlau, vielleicht kann mir jemand die Konfiguration der Register nochmal etwas näher bringen.

Danke
Marcel

izaseba
17.11.2006, 19:28
aber irgendwie kommen da nur total tiefe Töne raus mit meinem code:

Ist auch kein Wunder, wenn Du den Prescaller auf 1024 stellst.
Je nach Takt ist der Timer dann wirklich sehr langsam.
Versuch mal 64 32 oder 8 dann werden die Töne auch höher :-)

P.S. Schau Dir die Seite 125 an.

Gruß Sebastian

core
17.11.2006, 19:52
Geil, mit 32 funktionierts.
Hab's am anfang nicht verstanden, aber ich denke der prescaler verändert die Periodendauer oder?

Vielen Dank für deine Hilfe

Marcel

izaseba
17.11.2006, 20:13
Für Ton zu erzeugen kann man von Periodendauer reden, denke ich.
Der Prescaller ist aber einfacher zu erklären.

Mit Prescaller 1 läuft der Timer mit dem Systemtakt womit Du die höchste PWM Frequenz Systemtakt/256 bekommst.

Mit Prescaller 1024 läuft der Timer mir Systemtakt/1024 also alle 1024 Systemtakte wird der Timer inkrementiert davon kommt Dein hoher Ton.

Gruß Sebastian

core
17.11.2006, 20:49
Für Ton zu erzeugen kann man von Periodendauer reden, denke ich.
Der Prescaller ist aber einfacher zu erklären.

Mit Prescaller 1 läuft der Timer mit dem Systemtakt womit Du die höchste PWM Frequenz Systemtakt/256 bekommst.

Mit Prescaller 1024 läuft der Timer mir Systemtakt/1024 also alle 1024 Systemtakte wird der Timer inkrementiert davon kommt Dein hoher Ton.

Gruß Sebastian
Du meinst einen Tiefen ton denke ich oder?

Danke nochmals für die Erkllärung, jetzt weiß ich auch gleich wie ich das später mit der Motoransteuerrung mach ;)

Gruß
Marcel

izaseba
17.11.2006, 21:00
Du meinst einen Tiefen ton denke ich oder?

](*,) ja klar, ich hab da so meine Probleme mit :-)