Re: Interruptverarbeitung Kategorie: Programmierung C (von Joerg - 3.08.2011 7:23) | ||
Als Antwort auf Re: Interruptverarbeitung von kanne - 2.08.2011 23:45 | ||
| ||
> > > 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) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum