Re: Rückgabewert von Irq_GetCount(INT_TIM2COMP); beim ersten Aufruf Kategorie: Programmierung C (von PeterS - 7.06.2011 17:47) | |
Als Antwort auf Re: Rückgabewert von Irq_GetCount(INT_TIM2COMP); beim ersten Aufruf von Jo - 7.06.2011 10:26
| |
> > > > > Hallo Peter, > > > > > wenn nach > > > > > > > > > > Irq_SetVect(INT_TIM2COMP,INT_10ms); > > > > > > > > > > das erste mal in die Funktion 10ms gespungen wird, ist der Wert den > > > > > > > > > > irqcnt=Irq_GetCount(INT_TIM2COMP); > > > > > > > > > > zurückliefert in der Regel 42 ! Es werden nach SetVect() kein Abs_Delay() verwendet. > > > > > Meine Erwartungshaltung wäre, dass der Wert 0 ist. > > > > > Ist meine Vorstellung richtig? Gibt es an dieser Stelle u.U. noch ein kleiner Fehler? > > > > > > > > > > Vor dem Aufruf von > > > > > Irq_SetVect(INT_TIM2COMP,INT_10ms); wird viel code durchlaufen. Wird da u.U. schon was gezählt? > > > > > > > > > > Viele Grü�e > > > > > Jo > > > > > > > > Ja, das wird schon gezählt, da der Timer2 10ms Interrupt normalerweise für clock und > > > > Multithreading immer aktiv ist. > > > > > > > > Gruss Peter, > > > > > > Hallo Peter, > > > wäre es möglich, den Wert nach dem Aufruf von Irq_SetVect( ) auf 0 zu setzen? Denn wenn man > > > mit dem Rückgabewert arbeiten mu� bedeutet es ansonsten dass man selber tracken muss ob ein > > > Interruptfunktion das erste oder n-te mal aufgerufen wird. Das ist sehr unschön und verlangsamt > > > die Abarbeitung des Interrupts unnötig. > > > Viele Grü�e > > > Jo > > > > Hallo Jo, > > > > wenn man nach > > Irq_SetVect(INT_TIM2COMP,INT_10ms); > > direkt > > irqcnt=Irq_GetCount(INT_TIM2COMP); > > aufrufen würde, kann man ihn damit nicht auch löschen? > > > > Grü�e Joerg > > > Hallo Jörg, > eine gute Idee! Peter, ist das aus deiner Sicht OK? Das mü�te gehen, werde ich aber noch im Detail prüfen, ob da nicht ein Seiteneffekt ist. Gruss Peter > > Viele Grü�e > Jo | |
Antwort schreiben Antworten: Re: Rückgabewert von Irq_GetCount(INT_TIM2COMP); beim ersten Aufruf (von Jo - 8.06.2011 10:41) Re: Rückgabewert von Irq_GetCount(INT_TIM2COMP); beim ersten Aufruf (von PeterS - 8.06.2011 19:31) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum