Sieht doch ok aus, bis auf den Rundungsfehler. Der ini-Wert für OCR1A:
Evtl. liegts an der Reihenfolge, in der OCR1AH und OCR1AL geschrieben werden. Das ist nicht egal. Lass das GCC machen mit OCR1A=..., der weiß die richtige Reihenfolge.Code:#define F_CPU 8000000 #define INTS_PER_SECOND 1 #define PRESCALE 1024 ... OCR1A = (uint16_t) ((uint32_t) F_CPU*INTS_PER_SECOND/PRESCALE-1);
Mit Prescale = 256 gibt's auch keinen Rundungsfehler mehr.
Lesezeichen