Gast
#1412733
Hallo ich versuch einen Timer zu bauen mit dem ich die Zeit messen kann, leider ist die Taktzeit völlig anders als erwartet. Hardware: - Atmega 88 - 20MHz Oszillator Meine Idee war, einen Timer mit 20MHz zählen zu lassen der nach 200 Takten zurückgesetzt wird. Im entsprechenden Interupt zähle ich diese bis 100. Also alle 100 Interupts habe ich dann eine Millisekunde * 1000 = Sekunden. Leider funktioniert es nicht ganz. Systemtakt: 50ns Interrupttakt : 50ns * 200 = 10µs Millisekundentakt : 10µs * 100 = 1ms Sekundentakt : 1ms * 1000 = 1s Mein 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 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
Noch als Info: Den Systemtakt hab ich auf extern gestellt. Sonst ist alles so gut es ging, dem Tutorial nachempfunden. Gruß Manuel