Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C#] не выполняется действие? 
:(
    Опции темы
Evgen2
Дата 13.11.2015, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.11.2015

Репутация: нет
Всего: нет



Добрый день 
Не как не могу сообразить почему не работает код.
На сом порт приходит цифра 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);
                }
            }          
        }
    }
}



PM MAIL   Вверх
Evgen2
Дата 13.11.2015, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.11.2015

Репутация: нет
Всего: нет



Тема закрыта!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Добро пожаловать в раздел "Другие языки" форума Vingrad!

Void
Void

Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)

  • Обязательно следуйте правилам Форума.
  • Пожалуйста, прочитайте и следуйте рекомендациям по работе в разделе и навигации по Форуму.
  • Для вставки текстов исходных кодов используйте подсветку синтаксиса из выплывающего списка Код в форме ответа. Если Ваш язык в списке не представлен, то используйте тег: [code=ваш_язык]код[/code], например, [code=ada]код[/code]. Если в будущем подсветка синтаксиса для указанного языка будет реализована, исходный код преобразится.
  • Помните, один вопрос - одна тема.

Приятного времяпрепровождения! С уважением, Void, kemiisto .

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие языки | Следующая тема »


 




[ Время генерации скрипта: 0.1097 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.