Zeit zwischen zwei steigenden Flanken messen

Klaus_ww:
Also der Wust mit den Klammern.

Aha, jetzt verstehe ich, was du meinst....

Da habe ich einen anderen Betrachtungswinkel.....
Ich lerne nicht das "was", sondern lieber das "warum".
Dann kann ich jederzeit das "was" aus dem gelernten "warum" ableiten.
:smiling_imp: So muss ich mir weniger merken :smiling_imp:
(das kommt meiner Faulheit sehr entgegen)

Und das kann ich dir mal versuchen vorzuführen...

Die allgemeine Form eines IF Statements ist:

 if(bedingung) anweisung else anweisung

Eine Anweisung kann in diesem Fall:

 startZeit = micros();

sein.

Will man mehrere Anweisungen in einem if Zweig ausführen, muss man sie in einem Block zusammenfassen.

{
  tuwas();
  tunochwas();
}

Die Grundform ist die, welche ich in dem Programm verwendet habe.
Es ist keine besondere, oder gar vereinfachte, Syntax.
(darum habe ich dein Problem auch erst nicht verstanden)

Es ist eher so, dass deine Block Variante eine erweiterte Syntax darstellt.

Das gilt übrigens nicht nur für if, sondern auch für die ganzen Schleifen
Einzig die Funktionsdefinition ist auf einen Anweisungsblock angewiesen.
Schleifen kommen auch gut ohne Block aus!

byte i = 0;
while(i++<42) tuwas(i);

Anweisungsblocks darf man überall verwenden, wo einzelne Anweisungen erlaubt sind.

Also auch hier:

if(start)
{
  tuwas();
  { // innerer Block
    byte x = 3;
    tunochwas(x);
  }
}

Die Variable x ist nur in dem inneren Block sichtbar