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 kanne - 3.08.2011 8:35)
Als Antwort auf Re: Interruptverarbeitung von Joerg - 3.08.2011 7:23

> > > > 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
>
>
super, danke!


    Antwort schreiben


Antworten: