Gast
#444204
Hallo
Ich habe ziemliche Probleme, eine funktionierende Delay Funktion zu
schreiben.
Ich habe einen Timer, dessen Interrupt alle 1ms ausgeführt wird.
Für meine Zwecke reicht es, wenn die Verzögerunge +-1ms daneben
liegt.
Ich habe mir folgenden Code überlegt:
int main(void) {
WritelnUart("x");
wait=5;
while (wait>0) {};
WritelnUart("y");
}
Interruptroutine:
if (wait>0) {
wait--;
char stringint[12];
IntToStr(stringint, wait); // Wandle Messwert in String um.
WritelnUart(stringint);
}
WritelnUart gibt einen String Zeilenweise über Uart aus.
IntToStr wandelt int in einen String um.
Ich erhalte folgende Ausgabe:
x
4
3
2
1
Warum wird "y" nie erreicht?