Pour améliorer ma Station Météo sur ESP8266, j'aimerai calculer le vent dominant de la journée. J'ai écris un programme C sur mon MAC qui fonctionne très bien. J'ai donc fait un copier-coller dans l'IDE Arduino (Version 1.8.12) avec une Board WEMOS D1 R1 mais malheureusement plus rien ne fonctionne.
Que puis-je faire?
Pour avoir des réponses et éviter que ce message aille à la poubelle, il faut de toute urgence prendre connaissance des Règles du Forum (messages épinglés en tête du forum PRINCIPAL)
où poser ses questions ?
comment publier du code dans le corps d'un message
quelles informations fournir impérativement ?
Demandes au Modérateur (lien report to moderator en bas à gauche) le déplacement du message dans le Fourm général , içi il encombre l'espace réservé aux projets F I N I S comme indiqué dans le nom de ce sous-forum
Par ailleurs en publiant dans ce recoin peu fréquenté tu auras peu de lecteurs.
Quand tout sera au point , reviens dans ce sous-forum pour la publication !!
-à rendre le code visible à tous(tablettes et smartphones) et bien formaté en apprenant à le publier entre les balises appropriées dans le corps du message C'est expliqué dans des fils de discussion en tête du forum comme celui-ci: https://forum.arduino.cc/index.php?topic=394754.0
En résumé : Apprendre à utiliser le forum et apprendre à écrire un code compilable sous IDE Arduino, le portage du code initial vers Arduino ne posera alors plus de problème insurmontable.
Bonjour,
Désolé pour le non respect des règles du Forum.
En effet le problème vient du calcul du nombre d'éléments dans le tableau. Impossible de trouver ce nombre avec sizeof. J'ai donc écrit un fonction de calcul.
int len(int *tab_angle)
{
int i = 0;
while( tab_angle[i] != '\0')
{
i++;
}
return i;
}
avec la définition du tableau de la forme:
int tab_ang[] = { 355, 5, 15, '\0' };
If faut donc que je fasse attention à la définition du tableau d'angles lors de l'intégration de ce calcul dans le programme de la station météo.
'\0' est un caractère, alors bien sûr il sera traduit en nombre 0 et promu vers un entier, mais comme votre type c'est int, autant mettre 0 directement.
cela dit vous auriez peut-être intérêt à utiliser -1 comme marque de fin de tableau au cas où un des angles lu soit 0
Si le tableau est rempli dynamiquement par des mesures, généralement on conserve un indice sur la prochaine case à remplir. Comme on commence les indices à 0, c'est aussi le nombre valable d'éléments du tableau.