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, > > > > ich möchte mit einem I2C LED Display eine Stoppuhr bauen > > die von einem Buzzer ausgelöst und wieder angehalten wird. > > > > Habe mit Hilfe von Beispielen das Programm geschrieben. > > > > Das Program läuft aber nicht wie gewünscht, denn die Interruptschleife > > hängt. > > > > Was habe ich nicht richtig gemacht?? > > > > Hier die Schleife: > > void INT_10ms(void) > > { > > if (Start==1) > > { cnt1++; > > if (cnt1==10) > > { cnt10++; > > if (cnt10==10) > > { Sekunde1++; > > if (Sekunde1==10) > > { Sekunde10++; > > if (Sekunde10==10) > > { Sekunde10=0; > > } > > Sekunde1=0; > > } > > cnt10=0; > > } > > cnt1=0; > > } > > LED_Display(); > > > > } > > Buzzer(); > > irqcnt=Irq_GetCount(INT_TIM2COMP); > > > > Die Variablen cnt1,cnt10, Sekunde1, Sekund10 hab ich als byte def. > > > > Bin für jede Hilfe dankbar! > > > > MfG Hans > > Die Interruptroutinen sollten immer möglichst kurz sein. Schliesslich wird diese z.B. alle 10ms > aufgerufen. Unterprogrammaufrufe sind da eher nicht zu empfehlen. Ich denke sowohl LED_Display(), > als auch Buzzer() sind Routinen, die für den direkten Aufruf aus einem IRQ viel zu viel Zeit > benötigen. > Gruß Franz-Peter