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

Re: Pulsmessung Kategorie: Programmierung C (von Josef - 17.08.2009 19:09)
Als Antwort auf Re: Pulsmessung von PeterS - 15.08.2009 21:51
Ich nutze:
C-Control Pro Mega128
> > habe um timingprobleme auszuschließen die abspeicherung in die interruproutine aufgenommen.
> > warum muss man nach jedem interrupt den timer wieder neu definieren?
> >
> > danke
> > josef
>
> Nun ja, die Library ist halt so spezifiziert, das sie eine Periodenmessung macht. Life is hard :-)
>
> Gruss Peter


hallo peter
die Messung nach jedem interrupt starten kostet zwar zeit ist aber kein problem.
das problem fängt erst dort an, wenn die interruptroutine keine abfrage (if, switch usw.)
oder einen Unterprogrammaufruf verträgt.
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)
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.

gruß
josef


    Antwort schreiben


Antworten:

Re: Pulsmessung (von ER - 20.08.2009 13:44)
    Re: Pulsmessung (von PeterS - 20.08.2009 14:52)
        Re: Pulsmessung (von Josef - 21.08.2009 10:37)