示例#1
0
 public void Write(LCDData data)
 {
     if (data.Command)
     {
         _port.WriteControl(data.LCD, data.Data, data.Multiplier);
     }
     else
     {
         _port.WriteData(data.LCD, data.Data, data.Multiplier);
     }
 }
示例#2
0
 public void Write(LCDData data)
 {
     try
     {
         if (data.Command)
         {
             _port.WriteControl(data.LCD, data.Data, data.Multiplier);
         }
         else
         {
             _port.WriteData(data.LCD, data.Data, data.Multiplier);
         }
     }
     catch (Exception ex)
     {
         // informacja o błędzie
         MessageBox.Show(this, ex.Message, "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
         Close();
     }
 }
示例#3
0
 private void ProcessingThread()
 {
     try
     {
         while (_working)
         {
             _event.WaitOne();
             LCDData[] data = null;
             lock (_syncQueue)
             {
                 data = _queue.ToArray();
                 _queue.Clear();
             }
             _event.Reset();
             if (data != null && data.Length > 0)
             {
                 for (int i = 0; i < data.Length; i++)
                 {
                     if (data[i].Command)
                     {
                         _port.WriteControl(data[i].LCD, data[i].Data, data[i].Multiplier);
                     }
                     else
                     {
                         _port.WriteData(data[i].LCD, data[i].Data, data[i].Multiplier);
                     }
                 }
             }
         }
     }
     catch (ThreadAbortException)
     {
     }
     catch (Exception ex)
     {
         _log.Log(this, ex.ToString());
     }
 }