Ich hatte jetzt Zeit, alles noch mal genau zu testen und dabei ist mir aufgefallen, dass der µC nach dem Aufruf von GetTime nach ca. 14 Sekunden einen Reset macht. Nach diesem Reset fängt das Programm wieder von vorne an, die Variablen werden aber komischerweise nicht gelöscht. Wenn nach dem ersten Reset ein Timer gestartet wird macht der Controller wieder diesen komischen Reset. Ich denke, dass irgendetwas mit der Timersteuerung im Programm nicht stimmt.
Am µC kann es nicht liegen, da es weder mit einem AtMega8, noch mit einem AtMega32 funktioniert.
Stimmt diese Zeile oder kann man den Wert so nicht umrechnen?
Code:
wert = (ICR1L | (ICR1H << 8)) * (TAKT / (256UL * 65535UL) / 1000UL); //gezählter Wert in ms umrechnen (Takt=3,6864MHz)
Ich habe langsam das Gefühl, dass der AVR-gcc Compiller mit sehr großen Programmen nicht zurecht kommt. Weiß jemand, wo ich die neueste Version finde (Ich habe schon danach gegoogelt, finde aber nichts)?
mfg
Lesezeichen