Bonjour à tous

Je suis en train de coder des fonctions pour communiquer avec mon arduino via le port série. Ce que j'ai fais fonctionne, cependant je trouve ça assez brouillon ....

Ce qui m'embête c'est surtout la fonction de reception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int serie_reception(char **donnees)
{
	int i = 0;
	SDL_Delay(100);
 
	*donnees = realloc(*donnees, (i + 1) * sizeof(char));
 
	while(read(srl_handle, (*donnees + i), 1) > 0)
	{
		i++;
		SDL_Delay(10);
		*donnees = realloc(*donnees, (i + 1) * sizeof(char));
	}
	return 1;
}
Ne sachant pas combien de caractère je dois attendre je fais une boucle while en laissant le temps aux données d'arriver, d'où le SDL_Delay. Ce que j'aimerais c'est une petite astuce qui me permettrait de connaitre la quantité de données qui arrive et donc de faire une boucle en fonction de ça. Si quelqu'un à une idée.

Merci d'avance.