Hallo Hardest,
das Problem liegt in Deiner for-Schleife begraben.
Die For-Schleife wird solange ausgeführt, wir die angegebene Bedingung erfüllt ist. Deine Bedingung
zeit > zeit + lang
ist nun aber leider NIE erfüllt, da immer gilt
zeit == zeit.
Wenn Du also - wie ich vermute - die Schleife solange ausführen willst, bis die als Parameter in die Funktion übergebene Zeitspanne überschritten ist mußt zum Beispiel folgende Konstruktion verwenden:
Code:
[...]
  unsigned long startzeit = Gettime();
  for ( zeit = Gettime(); zeit < startzeit + lang;)
  {
    [...]
  }
Es gibt aber - wie immer - sicherlich noch 2 Milliarden andere Lösungsmöglichkeiten.
Mag sein, dass es da noch weitere Probleme gibt, aber ich hab's nur überflogen.

Gruß
Burkhard