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: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum