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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
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();
label11.Text = "Port " + comboBox1.Text + " Fermé";
}
}
else
{
buttonConnectDeconnect.Text = "Connecté";
label11.ForeColor = Color.Green;
buttonConnectDeconnect.BackColor = Color.Green;
//Serial source
serialPort1 = new SerialPort((string)comboBox1.SelectedItem, 9600, Parity.None, 8, StopBits.One);
//serialPort1 = new SerialPort("COM4", 9600, Parity.None, 8, StopBits.One);
serialPort1.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
// serialPort1.DtrEnable = true;
// serialPort1.RtsEnable = true;
serialPort1.ReadTimeout = 500;
//Ouverture du port
if (!serialPort1.IsOpen)
{
serialPort1.Open();
}
}
}
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string value = "";
while (serialPort1.BytesToRead > 0)
{
char[] buffer = new char[255];
int bytes_read = serialPort1.Read(buffer, 0, buffer.Length);
for (int i = 0; i < bytes_read; i++)
{
value += buffer[i];
}
}
safeInput(value.ToString());
}
private void safeInput(string msg)
{
textBox1.Invoke(new EventHandler(delegate
{
////textBox1.SelectedText = string.Empty;
//this.textBox1.Text = "";
////textBox1.AppendText(String.Format(msg));
//textBox1.Text = msg[0].ToString();
////textBox2.SelectedText = string.Empty;
//this.textBox2.Text = "";
//textBox2.AppendText(msg.ToString());
////textBox2.Text = msg[1].ToString();
////textBox3.SelectedText = string.Empty;
//this.textBox3.Text = "";
//textBox3.AppendText(msg.ToString());
////textBox3.Text = msg[2].ToString();
////textBox4.SelectedText = string.Empty;
//this.textBox4.Text = "";
////textBox4.AppendText(msg.ToString());
//textBox4.Text = msg[3].ToString();
string W = msg.Substring(0, 1);
string X = msg.Substring(1, 1);
string Y = msg.Substring(2, 1);
string Z = msg.Substring(3, 1);
//serialPort1.DiscardOutBuffer();
//reset le buffer de réception
serialPort1.DiscardInBuffer();
string[] WXYZ = new string[3];
WXYZ[0] = W;
WXYZ[1] = X;
WXYZ[2] = Y;
WXYZ[3] = Z;
textBox1.Text = WXYZ[0];
textBox2.Text = WXYZ[1];
textBox3.Text = WXYZ[2];
textBox4.Text = WXYZ[3];
}));
} |
Partager