Forum: Mikrocontroller und Digitale Elektronik Atmega 8 Sinus Ton 800 Hz


von Michael A. (torax)


Angehängte Dateien:

Lesenswert?

Hallo,
ich lese schon seit einer Weile in eurem Forum und in den Tutorials und 
möchte mich an dieser Stelle dafür bedanken. Diese Texte haben mir den 
Einstieg in die Welt der Avr's erheblich erleichtert.
Allerdings muss ich sagen, dass ich immernoch Anfänger bin und mein 
erstes Projekt nicht so ganz klappen will.
Ich habe hier einen Atmega 8 und möchte ihn in C programmieren. Es soll 
möglich sein einen Ton von ca. 800 Hz Sinus auszugeben. Bisher habe ich 
mich soweit eingelesen und verstanden, dass es zwei Wege dorthin gibt 
die in Frage kommen. Der Erste über ein R2R Netzwerk und der zweite über 
PWM.

Probieren wollte ich das Ganze zuerst mit PWM und habe hier im Forum 
einen Link gefunden, welcher die Erzeugung von Musik mit einem Atmega 8 
zeigt.
Die komplette Sache brauche ich davon nicht, allerdings brauche ich eine 
Möglichkeit den Ton an und abstellen zu könenn und ihn für eine 
unterschiedliche Zeitspanne abzuspielen (morsen kurz, lang).
Meine bisherigen Versuche erzeugen zwar ein brummen oder quietschen, 
aber das liegt weder bei 800 Hz noch handelt es sich um einen Sinus. 
Habe jetzt ein leicht verschobendes Rechtecksignal.
Außerdem kann ich den Ton so nicht steuern, er ist dauerhaft an?!

Mein bisheriger Code befindet sich im Anhang...
Hoffe ihr könnt mir da weiterhelfen. Bin wie gesagt noch ganz am Anfang, 
aber aufgeben möchte ich auch nicht.

Vielen Dank schonmal für eure Hilfe!

Viele Grüße,
torax

von egberto (Gast)


Lesenswert?

kleiner Tip -> Variable, die in Interruptroutinen verändert werden, 
deklariet man als "volatile", damit sie nicht wegoptimiert werden.

Frohe Ostern,

egberto

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.