wie versprochen da quellcode.
ichhabn paar testsachen rausgelöscht. ich hoffe nix wichtiges... jedenfalls funzt es bei mir. kann halt sein dass ich hier im post irgendwo n kommentar vergessen hab aufzuheben oder einzustellen.
zur zeit experimentier ich mit threads. das da unten nutzt zwar nen thread aber relativ sinnlos...
Code:
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
using System.IO.Ports ;
using System.Threading;
#endregion
namespace Comport
{
class Program
{
static SerialPort S = new SerialPort("Com1", 9600, Parity.None, 8, StopBits.One);
static string ergebnis = string.Empty;
static string text = string.Empty;
[STAThread]
static void Main(string[] args)
{
//Variablen und Objekte
//startausgabe
Console.WriteLine("hallo");
Console.WriteLine("geben Sie sieben Zeichen ein:");
//text von der console einlesen
text=Console.ReadLine();
//receivedevent aktivieren
S.ReceivedEvent += new SerialReceivedEventHandler(Received);
S.Open();//serielle verbindung öffnen
Thread sendThread = new Thread(new ThreadStart(writeSerial));
sendThread.Start();
while (true) //warte auf Daten über den Seriellen Port
{
if (!ergebnis.Equals(string.Empty)) break; //abbruch wenn daten da
}
Console.WriteLine(ergebnis);//empfangene daten ausgeben
S.Close();//serielle verbindung beenden
System.Threading.Thread.Sleep(5000);
}
private static void writeSerial()
{
//übergibt die Eingabe an den seriellen Port
S.Write(text);
}
static private void Received(object sender, SerialReceivedEventArgs e)
{
//überträgt daten aus der seriellen schnittstelle in variable
ergebnis = S.ReadExisting();
}
}
}