Bonjour,
je n'arrive pas à recevoir de données en série via mon port com. Pourtant je m'y accroche mais rien.
Pouvez-vous m'aider plz?
Voici mon premier code qui marche nickel : je choisi le port com où il y a un truc de connecté :
J'ai ensuite un bouton qui me permet de me connecter à mon port com et j'aimerais qu'il permette aussi de recevoir les info et les afficher dans une textbox.
Code : Sélectionner tout - Visualiser dans une fenêtre à part comboBox1.DataSource = SerialPort.GetPortNames();
Perso, ici je test avec un byte mais plus tard je vais travailler avec 5 bytes à afficher dans 5 textbox différents. Là je sens que je serai un peu perdu.
Mais commençons par recevoir 1 byte et l'afficher :
9a ne marche pas des masses.
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 private void timer1_Tick(object sender, EventArgs e) { label1.Text = DateTime.Now.ToString("dd-MM-yyyy"); label2.Text = DateTime.Now.ToString("hh:mm:ss "); } private void button1_Click(object sender, EventArgs e) { if (comboBox1.Visible == true) { MessageBox.Show("Veuillez choisir le port COM spécifique et appuyer sur OK pour continuer!", "Mauvaise procédure", MessageBoxButtons.OK, MessageBoxIcon.Stop); } else { if (buttonConnectDeconnect.Text == "Connecté") { buttonConnectDeconnect.Text = "Déconnecté"; label11.ForeColor = Color.Red; buttonConnectDeconnect.BackColor = Color.Red; if (SerialPort1.IsOpen) { SerialPort1.Close(); if (SerialPort1.IsOpen == false) label11.Text = "Port " + comboBox1.Text + " Fermé"; else label11.Text = "Port " + comboBox1.Text + " Ouvert"; } } else { buttonConnectDeconnect.Text = "Connecté"; label11.ForeColor = Color.Green; buttonConnectDeconnect.BackColor = Color.Green; //Serial source SerialPort port = new SerialPort(comboBox1.DataSource.ToString(), 9600, Parity.None, 8, StopBits.One); //Ouverture du port if (SerialPort1.IsOpen == false) { SerialPort1.Open(); if (SerialPort1.IsOpen == true) { label11.Text = "Port " + comboBox1.Text + " Ouvert"; } int recivedData = SerialPort1.ReadByte(); textBox2.Text = recivedData.ToString(); } } } }
Pouvez-vous m'aider svp...j'ai déjà rechercher sur le net mais ils disent tous des choses différentes et il n'y a pas bcp d'exemple dans la littérature!
Merci à vous
Partager