Hallo,
also habe mal versucht ein Ton zu erzuegen, habe dazu das Programm (ist
eigentlich fast vollständig kopiert).
Meiner Meinung nach müsste damit jetzt ein Ton mit der Frequenz von ca.
4kHz erzeugt werden. Das wollte ich dann einen Audio-Ampfiler an einen
Lautsprecher anschließen, stimmt da das Signal so?
Meinst Du, ich fummel jetzt anhand der I/O-Registerliste raus, ob mit
"0x02" in TCCR1B auch die richtigen Bits eingeschaltet werden? Mann,
schreib das so (auch in Deinem eigenen Interesse!):
Hallo,
also ich habe das Programm hier her:
http://www.mikrocontroller.net/articles/AVR_PWM
Da ist ja auch kein Interrupt-Handler. Ich hatte mir so gedacht, das mit
PWM eine analoge Spannung erzeugt wird, womit ich den LS dann betreiben
kann.
Ich habe es ausprobiert und es geht aber leider nicht.
Also reicht dieses Programm nicht allein zur Tonerzeugung?
mfg
Nein, ich meine das durch das ständige ein - und ausschalten von Port
B, was ja eigentlich alleine durch den Timer passiert, der Ton erzeugt
wird.
mfg Martin
Hallo Martin,
> also ich habe das Programm hier her:
dann nimm es so, wie es ist ich sehe da einige Unterschiede.
Sobald Du "sei" verwendest, sollte eine Vektortabelle vorhanden sein.
Gruss Otto
Die Timer des Mega8 sind etwas langsam, um die PWM als DAC zu nutzen, da
braucht es schon einen Timer mit PLL wie im Tiny15 oder Tiny25/45/85.
Falls Du nur Rechteck erzeugen willst, dann brauchst Du keine PWM,
sondern musst den Timer im Toggle-Mode betreiben. Denn mittels PWM
erzeugst Du ja eine feste Frequenz mit variablem Tastgrad.
Ich könnte Dir zwar ein paar Links nennen, die nützen Dir aber nichts,
da die Programme voraussetzen, dass Du Dich mit Interrupt-Programmierung
auskennst.
...
Martin K. wrote:
> Hallo hannes,> mit Toggle-Modus meinst du wohl Pin einschalten, und dann den Timer> immer den Pin umschalten lassen?
Jou. Ein Beispiel ist im Anhang, allerdings für Mega48, dessen Timer
etwas anders ausgestattet sind als beim Mega8.
...