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

Re: Interruptroutine Capture Compare Kategorie: Programmierung C (von Josef - 20.08.2009 18:19)
Als Antwort auf Re: Interruptroutine Capture Compare von PeterS - 20.08.2009 13:06
Ich nutze:
C-Control Pro Mega128
> > hallo
> > das problem besteht darin, dass die interruptroutine keine abfrage (if, switch usw.)
> > oder einen Unterprogrammaufruf verträgt.
>
> Hi, das mag Dir so erscheinen ist aber nicht so. If's etc. funktionieren In IRQ Routinen, sonst
> würde die ganze DCF Library nicht funkionieren.
>
> > sobald ich in die unten angeführte interruptroutine ein if einbaue verabschiedet sich der prozessor.
> >
> > void Timer3_ISR(void)
> > {
> >    x[a]=Timer_T3GetPM();
> >    Irq_GetCount(INT_TIM3CAPT);           // Interrupt zurücksetzen
> > }
> >
> > will man nun ein signal mit unterschiedlichen Pulslängen messen, funktioniert das nur
> > wenn man im hauptprogamm ein while (x[a]==0; einbaut und anschlieÃ?end die Messung
> > wieder startet (Bemerkung: ist aber nicht sinn eines interrupts, wenn man wartet bis der interrupt
> > abgearbeitet ist)
>
> Man sollte immer! im Interrupt nur das nötigste erledigen, und den Rest im normalen Programm
> verarbeiten. Dabei erlaubt der Interpreter seinen IRQ Routinen viel mehr, als eine wirkliche
> CPU durchgehen liesse.
>
> Gruss Peter
>
> > oder man lässt den code durchrasseln und macht immer wieder eine abfrage -> dann übersieht man
> > irgendwann einen puls, wenn der codedurchlauf zu lange wird.
> > gibts hier eine lösung?
> >
> > gruÃ?
> > josef

:-( -> schwache antwort
ich glaube nicht, wenn man eine if x[a]>0 m++; Abfrage in die interruptroutine einbaut, das eine lange ist.
beim 10msec interrupt -> DCF 77 programm werden auch unterprogrogramme in der interruptroutine
ausgeführt und es funktioniert.
warum genau beim timer 3 nicht?
gruÃ? josef


    Antwort schreiben


Antworten:

Re: Interruptroutine Capture Compare (von PeterS - 20.08.2009 21:46)
    Re: Interruptroutine Capture Compare (von Josef - 21.08.2009 10:23)
        Re: Interruptroutine Capture Compare (von PeterS - 22.08.2009 12:04)
            Re: Interruptroutine Capture Compare (von Josef - 22.08.2009 19:41)