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
|
private void button1_connecter_Click(object sender, EventArgs e)
{
serialPort2.PortName = portBox2.SelectedItem.ToString();
serialPort2.BaudRate = 9600;
serialPort2.DataBits = 8;
serialPort2.Parity = Parity.Even;
serialPort2.StopBits = StopBits.One;
//serialPort2.Handshake = Handshake.None;
serialPort2.PortName = portBox2.Text;
serialPort2.DataReceived += new SerialDataReceivedEventHandler(serialPort2_DataReceived);
//serialPort2.Encoding = Encoding.GetEncoding(28591);
//serialPort2.Encoding = Encoding.UTF8;
try
{
serialPort2.Open(); //Ouvrez le SerialPort
StatusLabel1.Text = "le port série : " + portBox2.Text + " Opened";//Mettre à jour le StatusStrip
MessageBox.Show("Opened");
}
catch (Exception ex)
{
MessageBox.Show("Failed: " + ex.Message);
}
}
private void serialPort2_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
while (serialPort2.BytesToRead > 0)
{
char[] buffer = new char[128]; // on crée un char de 255 caractere
// byte[] buffer =new byte[128];// nouveau
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.
// string s = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
for (int i = 0; i < longueur_bytes_read; i++)
{
value +=buffer[i];
// value +=buffer[i];
// byte[] bytes = Encoding.Default.GetBytes(value);
// value = Encoding.ASCII.GetString(bytes);
}
StatusLabel1.Text = "Transfert en cours...";
}
} |
Partager