Bonjour,
J’ai réalisé une petite application qui fait établir une communication (envoi et réception des données via un port série) entre un pc et un automate.
Je travaille sous Visual Studio 2013 en c#, avec Windows 8 - 64 bits.
Un extrait de donnée que je reçois :
123456789
326547891
145879260
000005000
....
J’ai réalisé l’exécutable de l'application qui fonctionne sur un pc sous Windows xp- 32 bit.
le problème , quand je travaille avec l'application sous 64 bit, elle fonctionne bien j'arrive à recevoir les donnée correctement a partir de l'automate.
Mais quand je suis sous 32 bit, je reçois la 1er ligne correctement en suit le reste c'est des symboles,
exp:
123456789
_-,?\
la je suis bloquer, j'ai aucune aidée de quoi ça peut être ?
Voilà le bout de code qui me permet de recevoir les données, vu que c# travaille en Unicode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 private void serialPort2_DataReceived(object sender, SerialDataReceivedEventArgs e) { serialPort2.Write("\u000D");// lance la tach envoiFil { char[] buffer = new char[255]; // on crée un char de 255 caractere int longueur_bytes_read = serialPort2.Read(buffer, 0, buffer.Length); //lecture du buffer jusqu'a sa longeur buffer.Length //tes characteres sont contenus dans buffer. //on remplit notre string value byte par byte par notre tableau de charactere buffer, le += fait que l'on écrase pas les données qui sont inserées, mais on les ajoutes. for (int i = 0; i < longueur_bytes_read; i++) { value += buffer[i]; StatusLabel1.Text = "Transfert en cours..."; } }
Partager