bonjour à tous!

Je vais commencer par décrire mon projet

dans le cadre de mon examen de passage je dois réaliser un petit système qui, grâce à une carte électronique, doit:

sur la carte électronique:
- envoyer à un programme en c# (via le port COM) la température et la luminosité sous cette forme: XX.XX,Y -> XX.XX étant la température et Y un indice de luminosité (allumé-éteint)

le programme ressemble à ceci:



je me suis d'abord focalisé sur température et luminosité.

Pour le test, depuis ma carte, j'envoie "bonjour";

Cette donnée est bien reçue, j'en suis certain, par l'ordinateur via un programme que j'utilise en électronique: Microship AN1310.



cependant sur mon programme, il est bien affiché "bonjour" dans la température réelle mais à certain moment lors du renvoi de la nouvelle donnée (encore "bonjour" en somme) des fois ça affiche "r","ur","our", etc.
Par apprès ça peut afficher "bonjour" et recommencer à bugguer.

j'espère que vous voyez mon problème :/ j'ignore totalement d'ou celà peut provenir malgré de nombreuses recherches...

voici mon code c# :

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace ProjetAoutJacoby
{
    public partial class Form1 : Form
    {
        public delegate void receiveData(string str);
        public Form1()
        {
            InitializeComponent();
        }      
 
        private void comboBoxCOM_SelectedIndexChanged(object sender, EventArgs e)
        {
            serialPort1.PortName = "" + comboBoxCOM.SelectedItem;
        }
 
		//tout simplement ouvrir/fermer le port COM grâce au bouton
        private void boutonPlayCom_Click(object sender, EventArgs e)
        {
            try
            {
 
                if (boutonPlayCom.Text.Equals("Play"))
                {
                    serialPort1.Open();
                    serialPort1.BaudRate = 9600;
                    boutonPlayCom.Text = "Stop";
                }
                else
                {
                    serialPort1.Close();
                    boutonPlayCom.Text = "Play";
 
                }
 
 
            }
            catch (UnauthorizedAccessException ex)
            {
                MessageBox.Show("Port déjà utilisé dans un autre programme\n\n" + ex);
 
            }
            catch (System.IO.IOException ex)
            {
                MessageBox.Show("Port non ouvert\n\n" + ex);
            }
        }
 
 
        /*
 * even port serie à la réception
 */
        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
 
                try
                {
                    //tant qu'il y a des données entrée on continue
                    while (serialPort1.BytesToRead > 0)
                    {
                    string stringRead = serialPort1.ReadExisting();
                    Invoke(new receiveData(convertReceiveData), stringRead); //Car il reçoit les données sur un autre thread
                    }             
                }
                catch (System.IO.IOException ex)
                {
                    MessageBox.Show("" + ex);
                }
                catch (System.InvalidOperationException ex)
                {
                    MessageBox.Show("" + ex);
                }
 
        }
 
 
 
        /*
         * Lié à la Méthode serialPort1_DataReceived
         */
        private void convertReceiveData(string strRead)
        {            
			//affiche "bonjour" dans le label
               tReelGetLabel.Text = strRead;
        }
 
    }
}



Je vous remercie car mon année est en jeu! :/

Si vous voulez de plus ample informations -> je suis présent

Jonathan