private void PortDataReceived(int port) { Thread.Sleep(20); try { int len = _mPort.GetBytesToRead(); if (len == 0) { return; } byte[] by = new byte[len]; _mPort.Read(by, len); List <byte[]> bylist = DataValidation.Validation(by); foreach (byte[] item in bylist) { if (item == null) { continue; } ParsingParameter parameter = DataParsing.ParsingContent(item); if (parameter.FunctionAddress == 50) { if (parameter.Command == 1) { long number = DataParsing.TemporaryContent(parameter.DataContent); if (number == 1) { if (_currentNumber >= _mNumber.Number) { _mNumber.Number = _currentNumber; if (_mNumber.Mid > 0) { DbHelper.Db.Update <ModuleNumber>(_mNumber); } else { _mNumber.Mid = DbHelper.Db.Insert <ModuleNumber>(_mNumber); } } EnableDownLoadControls(false); return; } else { EnableDownLoadControls(true); return; } } } } } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace, @"提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } EnableDownLoadControls(true); }
private void OnPortDataReceived(int port) { Thread.Sleep(30); try { int len = _m_Port.GetBytesToRead(); if (len < 11) { return; } if (_tiDelayTimeOut != null) { _tiDelayTimeOut.Stop(); } byte[] by = new byte[len]; _m_Port.Read(by, len); List <byte[]> bylist = DataValidation.Validation(by); foreach (byte[] item in bylist) { ParsingParameter param = DataParsing.ParsingContent(item); if (param.FunctionAddress == 49) { int result = (int)DataParsing.TemporaryContent(param.DataContent); if (result == 1) { _m_Port.IsOpen = true; return; } } else if (param.FunctionAddress == 51) { int result = (int)DataParsing.TemporaryContent(param.DataContent); if (result == 1) { ContentMessage("客户编号设置成功。", Color.Green); } else { ContentMessage("错误内容:接收到的数据校验不通过。", Color.Red); } } } } catch (Exception ex) { MessageBox.Show("错误内容:" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } LimitControl(true); }