Bonjour,
Si l'environnement de ton microcontrôleur respecte la norme POSIX, il y a effectivement la fonction sleep :
Code:
/* mysleep.c : exemple d'utilisation de sleep() */
#include <stdio.h>
#include <unistd.h>
int main(void) {
printf("Bonjour\n");
sleep(3);
printf("Après 3 secondes\n");
return(0);
} Sinon, si le temps d'attente ne doit pas être trop précis, tu peux faire une simple boucle (et même la mettre dans une fonction) :
Code:
/* mysleep.c : exemple d'utilisation de sleep() personnalisé */
#include <stdio.h>
void sleep(unsigned long int n) {
/* boucle vide parcourue (n * 100000) fois*/
int i = 0;
unsigned long int max = n * 100000;
do {
/* Faire qqch de stupide qui prend du temps */
i++;
}
while(i <= max);
}
int main(void) {
printf("Bonjour\n");
sleep(100);
printf("Après ma propre fonction sleep\n");
return(0);
} Ce n'est peut-être pas la solution la plus élégante mais çà fonctionne.