void Msleep(int i)
{ i= Sleep(216) *1000;
}
Mach daraus besser ein
void Msleep(int i)
unsigned int j;
{for (j=0;j<i;j++) {Sleep(216) ; }
}
dann wartet die Funktion i mal Sleep(216);

Wo die 216 herkommen, weis ich auch nicht genau, der Wertebereich ist byte, also 0-255. Bei 36kHz-Timer entspricht 36 einer Milisek. glaube ich irgendwo gelesen zu haben.

Solche "Zeitschleifen" sind meiner Meinung nach Schrott, weil der Prozessor in dieser Zeit (ausser Interrupts bearbeiten) nichts tun kann.