WPF Отображение данных из Com-порта

208
19 февраля 2018, 00:16

Есть устройство (весы), которое на Com-порт кидает со скоростью 10 раз в секунду значение (текстовая строчка). Мне нужно написать приложение позволяющее слушать Com-порт и выводить эту строчку на экран.
При запуске, программа должна сразу читать данные из порта. Вроде ничего сложного. Вывожу значение в простой Label. Если запускаю приложение, то всё ок, если мне требуется остановить порт, а затем запустить, то столкнулся с тем, что Label не успевает отрисовывать, либо наоборот слишком быстро идет обновление. Сделал таким образом:

public void Service_Start()
{
    try
    {
        serial.PortName = "COM1";
        serial.BaudRate = 9600;
        serial.Handshake = System.IO.Ports.Handshake.None;
        serial.Parity = Parity.None;
        serial.DataBits = 8;
        serial.StopBits = StopBits.One;
        serial.ReadTimeout = 200;                
        serial.Open();
        serial.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(Recieve);    
    }
    catch (Exception)
    {
        MessageBox.Show("Не удается найти Com Port. Пожалуйста проверьте настройки подключения");
    }
}    
private delegate void UpTDelegate(string text);
private void Recieve(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{            
    recieved_data = serial.ReadExisting();     
    Dispatcher.Invoke(DispatcherPriority.Send, new UpTDelegate(WriteData), recieved_data);
}
private void WriteData(string text)
{
    lbl_receive.Content = "Вес: " + text;
}

lbl_receive - это как раз Label в который нужно выводить инфу постоянно

Можете подсказать?

READ ALSO
Отобразить раздел attach с иcпользованием xaml

Отобразить раздел attach с иcпользованием xaml

Пытаюсь сделать почтовый клиентВозникла проблема с xaml

231
Не работает прокрутка в DataGrid - C# WPF/.NET 4.x

Не работает прокрутка в DataGrid - C# WPF/.NET 4.x

Я создал проект в WPF C#Я использовал DataGrid

192
Организация UI в приложении

Организация UI в приложении

Доброго времени суток, ГосподаМне нужно написать небольшое приложение, которое будет представлять примерно вот такой интерфейс: На рисунке...

222