Einzelnen Beitrag anzeigen
Alt 29.10.2004, 06:39   #6 (permalink)
BomberD
Hardware Freak
 
Benutzerbild von BomberD
 

Registriert seit: 10.04.2002
Beiträge: 7.476

BomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer Anblick

Standard

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();
        }


    }
}
BomberD ist offline   Mit Zitat antworten