using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports; //serielleSchnittstelle
using System.Collections; //ArrayListe
using System.Threading; //Delagation invoke (Threadübergreifend)
using System.Timers; //Timer
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SerialPort Schnittstelle = new SerialPort("COM1"); //Deklaration
byte[] daten = new byte [3];
private void Form1_Load(object sender, EventArgs e)
{
}
private void buttonConnect_Click(object sender, EventArgs e)
{ //Festlegung Parameter=
Schnittstelle.BaudRate = 9600;
Schnittstelle.Parity = Parity.None;
Schnittstelle.DataBits = 8;
Schnittstelle.StopBits = StopBits.One;
Schnittstelle.Handshake = Handshake.None;
Schnittstelle.ReadTimeout = 500;
Schnittstelle.WriteTimeout = 500;
try
{
Schnittstelle.Open(); //Serialport öffnen
if (Schnittstelle.IsOpen)
{
buttonConnect.Enabled = false; //Connect_Button blass
buttonConnect.Text = "Erfolgreich";
}
}
catch
{
MessageBox.Show("Keine Verbindung möglich", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Schnittstelle.DataReceived += new SerialDataReceivedEventHandler(Nebenthread); // Abo_Event abonnieren
}
void Nebenthread(object sender, SerialDataReceivedEventArgs e) //Diese Methode wird ausgelöst. Wurde vorher abonniert
{
//string serialIn = Schnittstelle.ReadLine();
//listBox1.Invoke(new EventHandler(delegate { listBox1.Items.Add(serialIn); }));
this.textBox1.Text = Schnittstelle.ReadExisting();
}
private void buttonDisconnect_Click(object sender, EventArgs e)
{
Schnittstelle.Close();
buttonConnect.Enabled = true;
buttonConnect.Text = "Connect";
}
private void buttonSenden_Click(object sender, EventArgs e)
{
daten[0] = 1;
daten[1] = 2;
if (Schnittstelle.IsOpen)
{
Schnittstelle.Write(daten, 0, daten.Length); //Daten senden
// oder//Schnittstelle.Write(daten, 0, 2);
}
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e) // Anwendungen schließen = Verbindung trennen
{
Schnittstelle.Close();
}
}
}
Lesezeichen