Fast. Verlassen wird die ISR schon, aber das äussere if wird nur jedes 4. mal ausgeführt und das innere if nur 1 mal pro 4000=4*1000 IRQs. Wird vielleicht klarer, wenn du anders einrückst:Zitat von muetzi
Code:void isr_t0(void) interrupt 1 { teiler++; if (teiler == 4) // 4 x 250µsek = 1mS { teiler = 0; tsek++; if (tsek == 1000) { tsek = 0; P1 = ~P1; } } }
Da hast du recht. Unter Umständen bekommt man 1 Interrupt pro Sekunde hin, aber das ist abhängig vom µC und dessen Takt.Zitat von muetzi
Mit Verlaub, was der Herr Lehrer da erzähl ist Käse. Jedenfalls bei der Quelle. Tritt ihm nächstens ans Schienbein, wenn er so'n Schotter erzählt.
Lesezeichen