Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: @PeterS - Timing Interruptroutine Kategorie: Programmierung C (von Hannes - 10.01.2008 9:19)
Als Antwort auf Re: @PeterS - Timing Interruptroutine von PeterS - 9.01.2008 22:11
Ich nutze:
C-Control Pro Mega32, eigenes Board

Hat mit geholfen, Danke. Mann muss sich also um "verpasste" IRQs selber kĂĽmmern, dass
die nachgeholt werden. Ich nehm an, dass das bei ext. IRQs das gleiche ist?

Bzgl. genaue Uhrzeit + Datum habe ich einen ext. Baustein (PCF8583, I2C-Bus) eingebaut,
da ich in manchen Räumen kein DCF-Signal empfange.

Gruss





> Hallo Hannes,
>
> der Interrupt Counter wird hochgezählt, aber sonst passiert nichts weiter. Man sollte daher bei der
> Realisierung von Uhrfunktionen nicht in der Routine nicht zulange warten, oder den Wert von
> Irq_GetCount() mit berĂĽcksichtigen.
>
> Man kann auch eine Uhrzeit mit periodischen Aufrufen von Timer_TickCount() realisieren.  Wenn der
> aufsummierte Wert 600 übersteigt, den Minutenzähler um 1 erhöhen, etc etc
>
> Hab ich Dir damit geholfen?
>
> Gruss Peter
>
> > Hallo Peter,
> >
> > wie managed der Interpreter das, wenn z.B. alle 10ms eine Interruptroutine aufgerufen wird
> > und die Abarbeitung der Routine (z.B. RTC() )länger als 10ms dauert?
> >
> >
> >
> >
> >
> >
> > //------------------------------------------------------------------------------
> > // Interrupt alle 10ms
> > //
> > void INT_10ms(void)
> > {
> >     int irqcnt;
> >
> >     RTC();                                  // Funktionsaufrauf: RTC
> >     irqcnt=Irq_GetCount(INT_TIM2COMP);      // Interrupt Request Counter
> > }


    Antwort schreiben


Antworten: