Gast
#1232001
Hallo ich habe hier einen ATmega8 @ 16 Mhz. Mit diesem möchte ich ein 440 Hz Sinussignal per PWM ausgeben. Timer 2 ist auf fast PWM geschaltet. Es wird vorher eine Tabelle mit 20 verschiedenen Sinuswerten berechnet. Der Timer1 COMPA Interrupt gibt der PWM jeweils den nächsten berechneten Sinuswert. Dieser Interrupt wird alle T=1/(440Hz*20 Schritte) ausgelöst. Somit sollte an OC2 ein 440 Hz Sinussignal anliegen. Leider habe ich kein Scope hier sondern nur einen Lautsprecher. Der Ausgang geht an 2 Transistoren (Endstufe) und von dort aus an den Lautsprecher. Es ist nichts zu hören. Vielleicht kann mit ja jemand von euch helfen. Ich bedanke mich schonmal im vorraus. Hier der Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |