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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
using System.IO;
namespace Communicatio_1
{
public partial class Form1 : Form
public byte[] bBufferBytes; //buffer a envoyer
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) //l'événement Form_Load nous lire tous les ports série disponibles et nous assigner les valeurs à la liste déroulante.
{
//on commence par lister les voies séries présentes
String[] ports = SerialPort.GetPortNames(); //fonction statique
//string [] ports = System.IO.Ports.SerialPort.GetPortNames ();
for (int i = 0; i < ports.Length; i++) //on ajoute les ports au combo box
{
portBox.Items.Add(ports[i]);
}
}
private void button_charger_Click(object sender, EventArgs e)
{
openFileDialog1.Title = "Chargement";// Titre
openFileDialog1.FilterIndex = 1;
if (openFileDialog1.ShowDialog(this) == DialogResult.OK) // Ouverture boite de dialogue OpenFile
{
textBox1.Text = string.Empty; // On vide le TextBox
StreamReader sr = new StreamReader(openFileDialog1.OpenFile(), Encoding.Default); // Ouverture du fichier sélectionné
// son nom est dans openFileDialog1.FileName
try
{
string data = sr.ReadLine();
bBufferBytes = System.Text.Encoding.ASCII.GetBytes(data); //Place le contenu dans un buffer d'octets (ASCII: 1 char = 1 octet) (UNICODE: 1 Char = 2 octets)
while (data != null)
{
textBox1.AppendText(data + "\r\n");
data = sr.ReadLine();
serialPort1.Write(bBufferBytes, 0, bBufferBytes.Length); // Ecrit le buffer complet sur le SerialPort
}
}
finally
{
if (sr != null)
sr.Close();
}
}
}
private void button_connecter_Click(object sender, EventArgs e)
{
serialPort1.PortName = portBox.SelectedItem.ToString();
serialPort1.BaudRate = 9600;
serialPort1.Parity = Parity.None;
serialPort1.StopBits = StopBits.One;
serialPort1.DataBits = 8;
serialPort1.Handshake = Handshake.None;
serialPort1.PortName = portBox.Text;
// serialPort1.Open();
// serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
try
{
serialPort1.Open(); //Ouvrez le SerialPort
statusStrip1.Text = "Port : " + portBox.Text + " Opened"; //Mettre à jour le StatusStrip
//label11.Text = "Port " + comboBox1.Text + " Fermé";
MessageBox.Show("Opened");
}
catch (Exception ex)
{
MessageBox.Show("Failed: " + ex.Message);
}
button_connecter.Enabled = false;
button_deconnecter.Enabled = true;
textBox1.ReadOnly = false;
radioButton.Enabled = true;
radioButton.BackColor = Color.Black;
}
private void button_deconnecter_Click(object sender, EventArgs e)
{
try
{
serialPort1.Close(); //fermer le SerialPort
//statusStrip1.Text = "SerialPort : " + portBox.Text + " Opened"; //Mettre à jour le StatusStrip
MessageBox.Show("Closed");
}
catch (Exception ex)
{
MessageBox.Show("Failed: " + ex.Message);
}
button_connecter.Enabled = true; // activer le button connecter
button_deconnecter.Enabled = false;// desctiver le bitton deconnecter
textBox1.ReadOnly = true;
}
private void button_recevoir_Click(object sender, EventArgs e)
{
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string msg = sp.ReadLine();
this.Invoke(new EventHandler(delegate
{
textBox2.AppendText(msg + "\n");
textBox2.ScrollToCaret();
}));
}
private void checkPortDataTimer_Tick(object sender, EventArgs e)
{
//You may want to check available bytes instead of this.
string recievedData = serialPort1.ReadExisting();
if (!string.IsNullOrEmpty(recievedData))
textBox2.Text += recievedData;
}
private void button_envoyer_Click(object sender, EventArgs e)
{
}
}
} |
Partager