Ich weiß nicht, ob deine version so genau ist, da die schleife so oft aufgerufen wird, wie du millisekundne pausieren willst. Habe keine Ahnung, wie lange der Mikrochip braucht, aber ich denke meine ist besser (abgesehen davon, dass ich das mit den x/72 übersehen hatte)
Die beste Lösung (meiner Meinung wäre
In deiner Funktion ist ein fehler... müsste wohl heißen:Code://Deklaration der Funktionen void Schlafen(long milliseconds); int d2i(double d); // Double --> Integer void main() { Schlafen(1337); //Funktionsaufruf } void Schlafen(long milliseconds) { long i; //Wiederholungs-variable long rest; //Was bei der Division übrig bleibt milliseconds *= 72 // Da Sleep(72); = 1ms i = d2i(milliseconds / 255); rest = milliseconds - d2i(milliseconds / 255 )*255; { int a; for(a=1;a<=i;a++) { sleep(255); } } if(rest!=0){sleep(rest)}; } int d2i(double d) { return d; }
[/code]Code:for(a=0;a<=zeit;a++) // anstatt... for(a=0;a<=1000 zeit;a++)







Zitieren

Lesezeichen