Gast
#1157375
Hallo!
Ich möchte 440 Hz an PB1 ausgeben.
Bisher habe ich folgenden Code
#define F_CPU 3686400
#include <avr/io.h>
uint8_t Modus; // Für OFF wählen wir 0, für die Modi werte über
0...(1,2,3,4....)
int main(void)
{
DDRB |= (1<<DDB1); // OC1A als Ausgang setzen
TCCR1A |= (1<<COM1A0); // Toggle OC1A on compare Match
TCCR1B |= (1<<CS10); // CLK/1
while(1); // Endlosschleife
return 0;
}
Der Ausgang hat jetzt eine Frequenz von schätungsweise 3 bis 4 Hz.
Nach meinem Verständnis zählt er jetzt bis 65536 und ändert den Ausgang
von High auf Low bzw Low auf High.
Rechnerisch müsste er jetzt aber eine Frequenz von
3686400/65536/2=28,125 Hz haben.
Übersehe ich da etwas?
Vielen Dank!