Communiquer avec le port COM

Reception des données

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonsoir,

Je travaille sur Arduino et C++ en ce moment, et je dois faire passer des informations (floats) de mon programme C++ vers mon Arduino, via le port COM. J'ai trouvé le moyen de considérer le port Com comme un fichier. Du coup mon code pour transmettre les informations est le suivant :

1
2
3
4
5
6
7
com = std::fopen("\\\\.\\COM3", "w");
if (com != NULL)
{
    std::fprintf(com, "[ %f / %f / %f / %f / %f ]", vitesse[0], vitesse[1], vitesse[2], vitesse[3], vitesse[4]);
    std::fclose(com);
}
std::cout << std::endl ;

Le problème du coup c'est qu'un seul programme ne peut avoir accès au Port Com en même temps. Du coup quand je fais un Serial.Write(); de ce qu'ai reçu sur l'Arduino ça fait planter le programme (en même temps deux programmes qui veulent écrire dans un fichier ça marchera pas).

Est-ce que quelqu'un connaîtrait une différente façon de communiquer avec l'Arduino ou bien alors une façon pour pouvoir de quelle façon l'Arduino recoit les données que je lui ai envoyé?

Merci :)

S'y connait un peu en HTML/CSS/JS/PHP et encore moins en C/C++

+0 -0
Staff

Je pense que sont problème est que coté arduino il voulais faire un Serial.write() de ce qu'il avait reçu pour débuguer. Mais comme il a déjà un canal ouvert pour envoyer les données, ça plante.

En fait ça question est plutot "Comment déboguer un code Arduino quand le port série est occupée par le programme qui est dessus ?"

Édité par Kje

+2 -0
Auteur du sujet

Eskimon en faites vu que j'écris avec mon programme C++ et avec mon Arduino, ça plante. Exactement Kje tu as très bien résumé la situation.

Mais grâce à la signature d'Eskimon je suis tombé sur son excellent tuto et je pense m'inspirer de la technique qu'il utilise dans sa partie 302, c'est à dire attendre que mon programme C++ est fini d'écrire, puis réécrire le tout. Normalement niveau droits d'accès ça devrait marcher.

Le tuto que j'utilisais pour l'instant n'expliquait pas du tout de la bonne façon. Merci de votre aide à tout les deux :)

S'y connait un peu en HTML/CSS/JS/PHP et encore moins en C/C++

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte