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

Re: Funktion: Irq_GetCount(byte irqnr) Kategorie: Programmierung C (von Josef - 19.08.2009 17:47)
Als Antwort auf Re: Funktion: Irq_GetCount(byte irqnr) von PeterS - 19.08.2009 15:30
Ich nutze:
C-Control Pro Mega128
> > Hallo Zusammen,
> >
> > irgendwie verstehe ich diese Funktion noch nicht ganz?
> > Laut Handbuch:
> > "Signalisiert, daß der Interrupt abgearbeitet wurde (interrupt acknowledge).
> > Wird die Funktion nicht am Ende einer Interruptroutine aufgerufen,
> > wird ununterbrochen in den Interrupt gesprungen."
> >
> > Was heist "ununterbrochen in den Interrupt???"
> >
> > Wenn ich folgendes mache:
> > // Interupt starten
> > Irq_SetVect(INT_TIM1CMPA,iservice);   // Interrupt Service Routine definieren
> > Timer_T1Time(719,PS_1024);            // 69,4 µs*719=50 ms
> >
> > Hier wird doch der Timer einmal gestartet. Das Programm läuft einmal in die
> > Interruptroutine. Warum muss ich etwas stoppen??
> >
> >
> > Gruß
> > Ellen
>
> Genau genommen passiert im aktuellen Interpreter das Gegenteilige, ruft man Irq_GetCount() nicht
> auf, dann wird kein Interrupt mehr ausgelöst. Ist aber nicht so wichtig. Einfach merken:
> Am Ende des Interrupts Irq_GetCount() aufrufen, sonst gibts wahrscheinlich Probleme.
>
> Gruss Peter
>  
Hallo Ellen

ich denke mit Irq_.... wird der ausgelöste Interrupt zurückgesetzt.
Beim nächsten Start des Timers würde die efinierte Interruptroutine sofort angesprungen werden,
da der Interrupt noch gesetzt ist.

Gruß
Josef


    Antwort schreiben


Antworten: