Re: Pulsmessung Kategorie: Programmierung C (von Josef - 17.08.2009 19:09) | ||
Als Antwort auf Re: Pulsmessung von PeterS - 15.08.2009 21:51 | ||
| ||
> > 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) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum