bonjour,
J'aimerai obtenir une petite aide sur l'envoi des données via le porte série entre mon pc et une commande d'axe.
pour pouvoir communique avec:
-il faut que j'envoie un "char(10)".
-après j’attends la réponse via le port série.
-ensuit j'envoie les données que j'ai télécharger sur mon pc que je stock dans un buffer.
- pour que la commande d'axe communique elle attend un paquet de 100 caractères et seulement de 100 pour répondre au PC.
Après réception de l'accusé de réception d'un paquet je peux passer au suivant.elle attend 100 caractères et de ne plus en recevoir pour pouvoir me répondre.
voila mon code:
j'ai essayé ce code mais la commande d'axe ne reçois les données.
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 public bool ison = false; public string str; private void button_charger_Click(object sender, EventArgs e) { textBox1.Text= string.Empty; openFilDialog1.Title="chargement"; openFilDialog1.FilterIndex =1; if(openFilDialog1.ShowDialog(this)==DialogResult.OK) { StreamReader sr =new StreamReader(openFilDialog1.OpenFile(), Encoding.Default); char [] tab =new char [100]; str = string.Empty; str = sr.ReadToEnd(); textBox1.AppendText(str+"\r\n"); } private void button_envoyerClick(object sender, EventArgs e) {char [] A = {(char)10};// char (10) serialPort1.Write(A,0,1); while(!ison) {} // attente de la rection de la réponse de la commande d'axe if (str.Length>0) { int max =100; int i; string don; for(i=0; i< str.Lenght - (str.Lenght%100); i=i+100) { don string.Empty; don =str.Substring(i,100); serialPort1.Write(don); } max = str.Lenght%100; don=str.Substring(i,max); serialPort1.Write(don); } } private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { // pour la boucle while dans le bouton envoyer if (!ison) { ison = true; } } }
je pense que j'ai mal interpréter le "char (10)" dans le code???????
Si quelqu'un peut m'aider ! Merci d'avance.![]()
Partager