Gast
#1301340
Hallo ihr, für ein Projekt verwende ich den Timer1 meines Atmega644p, um die Zeit seit Start einer Messung zu speichern. In der Messung werden nacheinander Daten von externen ADCs und Chips ausgelesen und auf eine SD Karte gespeichert. Das funktioniert auch recht fix mit 650 Datenpunkten / Sekunde. Nun mein Problem - die Zeit scheint manchmal für 4 Schleifendurchläufe den selben Wert zu haben und dann manchmal für 2 Schleifen oder auch nur eine. Ich dachte jedoch, dass der Timer1 bei richtiger Einstellung jeden Takt hochgezählt wird. Die Zeit wird im long run auch richtig gemessen, Fehler treten jedoch nun in den sehr kleinen Zeitabständen auf. Fällt euch ein, wo der Fehler liegen könnte, oder stoß ich hier tatsächlich schon an die Grenzen des Atmels ? Hier noch 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 | |
45 | |
46 | |
47 | |