Добрый день Не как не могу сообразить почему не работает код. На сом порт приходит цифра 100 сравниваем её и выводим в консоль сообщения. Подскажите пожалуйста где ошибка в коде почему он не выполняет действия сравнения?
код 1:
| Код | using System; using System.IO.Ports; namespace ArduinoSerial { class Program { SerialPort sp = new SerialPort("COM5", 9600, Parity.None, 8, StopBits.One); static void Main(string[] args) { new Program(); } private Program() { sp.DataReceived += new SerialDataReceivedEventHandler(OnDataReceived); sp.Open(); Console.Read(); } private void OnDataReceived(object sender, SerialDataReceivedEventArgs e) { Console.WriteLine(sp.ReadExisting()); string name = sp.ReadExisting(); if (name == "100") Console.WriteLine("OK" + name); } } }
|
код 2:| Код | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO.Ports; using System.Threading; using System.Threading.Tasks; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { string portName = "COM5"; Task.Factory.StartNew(() => StartListen(portName)); Console.ReadLine(); } static void StartListen(string portName) { using (SerialPort port = new SerialPort(portName, 9600)) { port.Open(); while (true) { if (port.BytesToRead != 0) { string result = port.ReadExisting(); if (result == "100") { Console.WriteLine("Name: {0}", result); } } Thread.Sleep(500); } } } } }
|
|