Zitat Zitat von SprinterSB
So würde es in C aussehen, ein paar defines fehlen, die aber selbsterklärend sind. Übersetzen nach BASIC verbleibt als Hausaufgabe

Code:
void timer1_init()
{
#if defined (__AVR_AT90S2313__)
    // Timer1 ist Zähler
    TCCR1A = 0;
    // Timer1 läuft mit voller MCU clock
    TCCR1B = _BV (CS10) | _BV (CTC1);
#elif defined (__AVR_ATmega8__)
	 // Mode #4 für Timer1 (Manual S. 97)
	 // und volle MCU clock
    TCCR1A = 0;
    TCCR1B = _BV (WGM12) | _BV (CS10);
#else
#error Dont know how to setup timer1
#endif

	// PoutputCompare für gewünschte Timer1 Frequenz
	OCR1A = (unsigned short) ((unsigned long) F_CPU / INTERRUPTS_PER_SECOND-1);

	// OutputCompare-Interrupt für Timer 1
   TIMSK |= _BV (OCIE1A);
}

SIGNAL (SIG_OUTPUT_COMPARE1A)
{
}
Na da hab ich ja was vor mir (hab keine Ahnung von C)
Ich glaube aber, ich lasse den Code so, denn ich habe eben ein 7,3728 Quarz eingebaut um den AVR extern zu takten. Jetzt geht die Uhr so genau, dass man auf 5min keine Abweichungen "sehen" kann. Das reicht für meine Zwecke ja aus

Gruß, Björn