Tonerzeugung mit AVR

Gast #6251211
Lesenswert?

Hallo Forum
Habe in einem Programm das gefunden:
1
// Diese Werte berechnen sich aus "8MHz / Frequenz des Tones / 2" Sollte ein anderer CPU-// Takt verwendet werden muessen die Werte neu berechnet werden.
2

3
#define TON_C    15152l
4
#define TON_CIS  14545l
5
#define TON_D    13468l
6
#define TON_ES  12618l
7
#define TON_E    12121l
habe versucht das ganze nachzurechnen. Leider komme ich nicht auf das 
Ergebnis. Falsche Anleitung oder wie kann ich die Frequenz berechnen um 
einen Ton auszugeben?
Wie kann ich die Tonhöhe berechnen, z.B. 440Hz mit delay?
Kennt jemand eine gute Beschreibung dazu?
LG Klaus
#6251293
Lesenswert?

Hallo Klaus


Klaus schrieb:
> Wie kann ich die Tonhöhe berechnen, z.B. 440Hz mit delay?
> Kennt jemand eine gute Beschreibung dazu?

Einen einzelnen Ton kann man wie folgt berechnen bzw. erzeugen:

440Hz entspricht einer Periodendauer von ca. 2,273ms (1/440).
Du musst also einen Ausgangspin in einer schleife für die halbe Zeit, 
also  1,1365 ms einschalten und 1,1365 ms ausschalten.

Grüße
Manfred

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren