Gast
#4469888
Hallo, ich habe ein Arduino Mega 2560 Board, ich programmiere aber mit dem Atmel Studio ganz normal, also einen AtMega2560. Ich habe einen Timer, der jede ms abläuft im CTC Modus, sich also selbst bei Vergleichswert zurücksetzt. In der ISR Routine passiert folgendes:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
Ich habe eine Abweichung von ca. 60 Sekunden Pro Tag. Macht also ~ 800ppm. Der Timer läuft mit 1/64 CPU Takt ( 16MHz ) und der Vergleichswert ist 249, also jede ms ein Compare Interrupt. Auf dem Board ist ein Quarzoszillator drauf. Habe ich einen Programmfehler, oder ist der Quarzoszillator so mies? Es laufen übrigens keine anderen Interrupts, das heißt ein "auslassen" ist eigentlich nicht möglich. Danke für Eure Unterstützung Erich