Gast
#1436997
Huhu Zusammen, ich habe im Moment ein kleines Problem mit meinem Quarz. Angeschloßen ist ein 12MHz quarz mit 22pF Kondensatoren. Im AVR-Studio habe ich dann die Einstellung unter den "Fuses" auf "Ext. Full-Swing Crystal; Startup Time PWRDWN/RESET: 16K CK/14K + 0ms" gesetzt. Der Controller lief soweit auch. Nun wollte ich auch mal die Frequenz testen, indem ich einen Timer dazu programmierte. Letzlich habe ich mich dann für Timer1, also dem 16 Bit Timer entschieden. Mein Ziel war es dann einen 1s Timer zu erstellen.
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 | |
Der Code ist eigentlich recht kurz gehalten, vielleicht könntet ihr ihn ja mal überfliegen. Meine Rechnung um die entsprechenden Werte zu erlangen: F = 12MHz Pre = 256 F/Pre = AnzÜberläufe/Sekunde = 46875 -> Und das ist dann der entsprechende Vergleichswert. Wenn ich das Programm allerdings starte, erhöht sich Port D leider nur etwa alle 8 Sekunden anstatt jede Sekunde. Meine Frage nun: Ist der Programmcode falsch? Oder habe ich bei den Fuses einen Fehler gemacht? viele Grüße, Thomas