private async void btnSend_Click(object sender, RoutedEventArgs e) { if (currentPort.IsOpen()) { currentMsg = fabricMsg.GetObjMsg(); currentMsg.SetMessage(tbMessege.Text); ComResponse result = await Task.Factory.StartNew <ComResponse>(() => currentPort.Send(currentMsg)); tbLog.AppendText(result.TextAnswer); } }
/// <summary> /// Захват входящего сообщения с порта /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void OnDataReceived(object sender, SerialDataReceivedEventArgs e) { ComResponse result = await Task.Factory.StartNew <ComResponse>(() => ComPort.Read(sender as SerialPort)); await Dispatcher.BeginInvoke((Action)(() => this.tbLog.AppendText(result.TextAnswer))); }