Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > 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