Visual studio serialPort->Write ne fonctionne pas

Communication en voie série

a marqué ce sujet comme résolu.

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.

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?

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

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