Serial Port nicht erhalten, keine Daten

Ich bin versucht, zu schreiben eine einfache c# - Konsolenanwendung für Lesen/schreiben von einem seriellen port, kommuniziert mit einem Arduino, hakte ich habe bis. Das problem, dass ich in ist dass ich schreiben kann auf dem Arduino kein problem, aber ich bin nicht in der Lage zu erhalten, alle Daten zurück. Meine seriellen Schnittstelle SerialDataReceivedEventHandler ist nicht immer gefeuert werden, aber ich vermute, dass diese beiden Probleme zusammenhängen.

Ich weiß, es ist nicht mein Arduino, die das problem verursacht, weil bei der Verwendung der Arduino-IDE bin ich in der Lage, Daten zu empfangen, ohne Probleme. Hier ist, was ich habe code kluge jetzt:

SerialPort sPort = new SerialPort();
sPort.PortName = SerialPort.GetPortNames()[0];
sPort.BaudRate = 9600;
sPort.Parity = Parity.None;
sPort.DataBits = 8;
sPort.StopBits = StopBits.One;
sPort.RtsEnable = false;
sPort.Handshake = Handshake.None;

sPort.DataReceived += new SerialDataReceivedEventHandler(sPort_dataReceived);
sPort.ErrorReceived += new SerialErrorReceivedEventHandler(sPort_ErrorReceived);

sPort.Open();

Console.Read();
sPort.Write("tt_calib");

while (true)
{
    if (sPort.ReadExisting() != string.Empty)
        Console.WriteLine(sPort.ReadExisting());
}

Ich bin mir bewusst, dass ich nicht in der Nähe des Hafens in diesem code, dass ist nicht das Problem, da bin ich in der Lage, erneut ausführen und öffnen Sie es jedes mal. Dieser code ist auch nicht in der endgültigen form, die ich bin versucht zu bekommen, das lese-event arbeiten, so dass ich reagieren kann, um verschiedene Nachrichten unterschiedlich. Ich habe gelesen, was scheint, wie jede Frage, aber keine Lösung die ich gefunden habe, scheint den trick tun.

Dies ist ein C# .NET 4.5-Konsole-Anwendung läuft auf Windows 8.1

InformationsquelleAutor Karoly S | 2014-02-04
Schreibe einen Kommentar