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

Re: Interrupt hängt Kategorie: Programmierung C (von PeterS - 6.03.2012 10:53)
Als Antwort auf Interrupt hängt von Hans - 6.03.2012 10:40

> Hallo,
>
> ich möchte mit einem I2C LED Display eine Stoppuhr bauen
> die von einem Buzzer ausgelöst und wieder angehalten wird.
>
> Habe mit Hilfe von Beispielen das Programm geschrieben.
>
> Das Program läuft aber nicht wie gewünscht, denn die Interruptschleife
> hängt.
>
> Was habe ich nicht richtig gemacht??
>
> Hier die Schleife:
> void INT_10ms(void)
> {
>     if (Start==1)
>     {   cnt1++;
>         if (cnt1==10)
>         {   cnt10++;
>             if (cnt10==10)
>             {   Sekunde1++;
>                 if (Sekunde1==10)
>                 {   Sekunde10++;
>                     if (Sekunde10==10)
>                     {  Sekunde10=0;
>                     }
>                     Sekunde1=0;
>                 }
>                 cnt10=0;
>             }
>             cnt1=0;
>         }
>         LED_Display();
>
>     }
>     Buzzer();
>     irqcnt=Irq_GetCount(INT_TIM2COMP);
>
> Die Variablen cnt1,cnt10, Sekunde1, Sekund10 hab ich als byte def.
>
> Bin für jede Hilfe dankbar!
>
> MfG Hans

Mach doch erstmal eine leere Funktion nur mit "cnt1++;" und "Irq_GetCount(INT_TIM2COMP);"
Gib in der Hauptschleife den Wert von "cnt1" aus. Dann weiÃ?t Du, wie oft die IRQ
Routine angesprungen wird und ob es im Prinzip richtig initialisiert ist.

Gruss Peter


    Antwort schreiben


Antworten: