Visual studio serialPort->Write ne fonctionne pas

Communication en voie série

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

Bonjour à tous,

J'ai une application C++ réalisée sous windows form qui contrôle un programme arduino via la voie série, avec des valeurs qui sont envoyées lorsque j'appuie sur les boutons de mon petit logiciel, et dans arduino

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
int received;

if (Serial.available()>0) {

    received = Serial.read();

    //Contrôle de la caméra
    if(received == 'a') {
       servo1Cam.write(0);
       delay(10);               
    }

Jusque là aucun soucis, j'envoie simplement "a", "b" etc lors d'un clic d'un bouton. Cependant pour une dernière fonction, j'ai besoin d'envoyer un paramètre qui est la valeur d'un NumericUpDown réglé de 0 à 180. J'ai donc tenté :

1
2
3
        serialPort1->Open();
        serialPort1->Write(numericUpDown2->Value);
        serialPort1->Close();

Cependant j'obtiens une erreur du type Aucune Instance de fonction surchargée ne correspond à la liste d'argument. System::IO::Ports::SerialPorts. A partir de là j'ai fais quelques recherches, j'ai tenté des conversions etc, mais arduino veut du int, j'envoie du decimal, et en c++ il semblerait que le .ToInt32 ne lui plaise pas pour numericUpDown->Value. Du coup je suis un peu perdu, quelqu'un pourrait-il me venir en aide, merci d'avance, bonne journée à tous.

+0 -0

Salut!

int( numericUpDown2->Value )

std::floor( numericUpDown2->Value )

std::ceil( numericUpDown2->Value )

std::round( numericUpDown2->Value )

Ce sont 4 manières différentes de convertir un float en int, prends celle qui te va?

Édité par DragonJoker

Si vous ne trouvez plus rien, cherchez autre chose.

+0 -0
Auteur du sujet

Après plusieurs recherches, j'ai trouvé ce qu'il me fallait (pas si facile ^^) :

1
int number = (int)numericUpDown2->Value;

Bon sinon tes quatre solutions ne fonctionnaient pas mais merci quand même :)

Édité par Dr@zielux

+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