C# WPF MVVM и SerialPort

370
21 сентября 2018, 11:40

Нужно прочитать данные из serial port. Каким образом используя MVVM можно уведомлять View о процессе работы с serial port? Нет гарантий, что данные хорошо придут.. и в модели например метод GetData как оформить если данные читаются в отдельном методе тика таймера?

Answer 1

Пример:

В конструкторе создаю таймер и привязываю к нему нужный метод:

_timer = new Timer();
        _timer.Interval = 5000;
        _timer.AutoReset = true;
        _timer.Elapsed += ReadClock;
        _timer.Start();

Вот реализация метода:

private void ReadClock(object source, ElapsedEventArgs e)
    {
        if(SelectedPort != null)
        {
            var dateTime = SystemClock.Get();
            if (dateTime != null)
            {
                Time = dateTime.ToLongTimeString();
                Date = dateTime.ToShortDateString();                    
            }                
        }
    }

У меня отлавливание ошибок реализовано на более низком уровне, и мне не нужно беспокоиться о правильности данных.

В методе SystemClock.Get у меня реализовано чтение из SerialPort.

READ ALSO
Ответ на WebRequest.Get

Ответ на WebRequest.Get

Разрабатываю приложение на Unity3d для платформы WEBGL, и на данный момент мне нужно написать серверМне надо чтобы приложение при старте получало...

202
Graceful shutdown и запросы в состоянии обработки

Graceful shutdown и запросы в состоянии обработки

Реализовываю Graceful shutdown на ASPNET Core 2

268
Как преобразовать “\\n”, “\\t” в “\n”, “\t”

Как преобразовать “\\n”, “\\t” в “\n”, “\t”

Я беру из текстового файла содержимое вида:

243