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

mimi09jn Messages postés 49 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 12 juillet 2013 - 19 mai 2012 à 00:50
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 19 mai 2012 à 08:02
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 mai 2012 à 08:02
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++
0
Rejoignez-nous