Ich habe mir den Source von Ulrich Radig angeguckt.
Wie wird sichergestellt das SIG_OVERFLOW1 ausgelöst wird bei 59 Sekunde oder fehlenden DCF77 Signal?Code://############################################################################ //Overflow Interrupt wird ausgelöst bei 59Sekunde oder fehlenden DCF77 Signal SIGNAL (SIG_OVERFLOW1) //############################################################################ { struct DCF77_Bits *rx_buffer; rx_buffer = (struct DCF77_Bits *)(unsigned long long)&dcf_rx_buffer; //Zurücksetzen des Timers TCNT1 = 65535 - (SYSCLK / 1024);
Wird hier ein 16Bit Timer verwendet?Code://Diese Routine startet und inizialisiert den Timer void Start_Clock (void) //############################################################################ { //Interrupt DCF77 einschalten auf ansteigende Flanke DCF77_INT_ENABLE(); INT0_CONTROL = INT0_RISING_EDGE; //Interrupt Overfolw enable timer_enable_int(_BV(TOIE1)); //Setzen des Prescaler auf 1024 TCCR1B |= (1<<CS10 | 0<<CS11 | 1<<CS12); TCNT1 = 65535 - (SYSCLK / 1024); return; };







Zitieren

Lesezeichen