Gast
#3482733
Hallo,
ich muss ein MelodieGenerator in C Programmieren für den atmega 88.
Ich habe den Timer 1 getoggelt so das ich einen Ton rausbekomme.
Mein Problem ist, ich weiss nicht wie ich jetzt verschiedene Töne
rausbekomme.
Ich kann es ohne toggeln machen mit einer schleife und interrupt aber
die Frequenzen sind dann ungenau.
Also brauch ich die Einstellung von Timer1 um verschiedene Töne zu
bekommen.
Meine Einstellung:
void Timer_Init1(void)
{
TCCR1A |= (1<<COM1B0); // COM1B0 zum toggeln
TCCR1B |= (1<<CS10); //ohne Vorverteiler
OCR1A = 10; //Frequenz des Tones
OCR1B = 10;//4608
}
Bei OCR1A sollte ich dann eigentlich die höhe des Tones einstellen
können, es funktioniert aber nicht, wo liegt mein Fehler?
Meine zweite Frage:
Wenn ich das dann einstellen kann, wie überschreibe ich den OCR1A damit
ich ein Lied abspielen kann.
Mit einem Array und einer Schleife aber da hatte ich auch einen Fehler.
Wäre dankbar für Hilfe :)