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

Re: Interruptverarbeitung Kategorie: Programmierung C (von Joerg - 3.08.2011 7:23)
Als Antwort auf Re: Interruptverarbeitung von kanne - 2.08.2011 23:45
Ich nutze:
C-Control Pro Mega128
> > > Hallo Miteinander,
> > > Zitat aus CCPro Handbuch "Ein Bibliotheksaufruf ... kann nicht vom einer Interruptroutine
> > > unterbrochen werden. Ein Interrupt wird zwar von der internen Interruptstruktur registriert,
> > > aber die Bytecode Interrupt Routine wird erst nach Beendigung dem Assembler Prozedur gestartet."
> > > Somit wird mit "AbsDelay(1000);" 1s lang kein Interrupt ausgeführt.
> > >
> > > Ist das korrekt, dass mit folgendem Code die gleiche Verzögerung erreicht wird aber während
> > > der Pause auch Interrupts weiter verarbeitet werden können?
> > >
> > > pause(1000);
> > >
> > > void pause(word n)
> > > int i;
> > > {
> > >    for(i=0;i > > > }
> > >
> > > Gruß Kanne
> >
> > Hallo Kanne,
> >
> > ich meien ja. Allerdings kommt der Overhead der Schleife hinzu.
> >
> > Du könntest auch Thread_Delay(100); benutzen.
> >
> > Grüße Joerg
> >      
>
> Danke vielmals für die schnelle Hilfe,
> steht das irgendwo, dass die Interruptverarbeitung nicht beeinflusst wird, wenn der
> main-thread auf Warten gesetzt wird?
>
> Gruß Kanne

Hallo Kanne,

Es steht irgendwo, das Thread_Delay zu einem Thread wechseln führt.
Interrupts sind wie Threads nur mit einer höheren prio.

Grüße Joerg




    Antwort schreiben


Antworten:

Re: Interruptverarbeitung (von kanne - 3.08.2011 8:35)