Réception des données par port série

Signaler
Messages postés
49
Date d'inscription
mardi 21 février 2012
Statut
Membre
Dernière intervention
12 juillet 2013
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonsoir à tous,
J'ai un problème avec la réception des données par port série, je travaille avec Visual c++ 2008. En effet j'ai déclaré un tableaudans lequel je stocke les données reçues par le port série.
array ^ read_bytes = gcnew array (1000000); ;
void recieve ()
{


if (serialPort1->BytesToRead != 0)
{

read_bytes[i++]=serialPort1->ReadByte();
}

}
Don si on envoie par port série la chaine "abc", les éléments du tableau seront: 61,62,63 qui correspondent aux codes ascii hexadécimaux des trois caractères a,b,c.
Or je veux pas récupérer 616263 mais récupérer "abc" afin de l'afficher dans un textBox (textBox1->Text = read_bytes[0];//cela génère des problèmes de conversion de types.
Alors j'ai essayé: textBox1->Text = char(read_bytes[0]).ToString(); mais dans le textBox il s'affiche 61 et moi je veux le "a" )
Quelqu'un pourrait m'aider??
Je vous prie c'est très urgent(ça fait partie de mon projet de PFE)

1 réponse

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Il faut arreter d'urgence l'interprété et oublier tous ses faux concepts, ensuite te plonger dans un bouquin de C.

char read_bytes[nbrVoulu];

read_bytes[i++] = serialPort1->ReadByte();

Avant affichage:
read_bytes[i] = 0; // 0 TERMINATEUR DE CHAINE
Affichage:
SetWindowText(hCtrl, read_bytes);

ciao...
BruNews, MVP VC++