Esempio n. 1
0
 //发送字节数据
 private void sendBytesWithInfo(object obj)
 {
     while (sendThreaIsRunning)
     {
         while (!queueSendBuffer.IsEmpty)
         {
             BytesWithInfo bi     = null;
             bool          result = queueSendBuffer.TryDequeue(out bi);
             //Console.WriteLine("queue count : " + queueSendBuffer.Count);
             if (!result || null == bi)
             {
                 continue;
             }
             try {
                 serial.Write(bi.bytes, 0, bi.bytes.Length);
                 eventSended?.Invoke(this, new ByteEventArgs(DateTime.Now, bi));
             } catch (Exception e) {
                 CommStateEventArgs args = new CommStateEventArgs();
                 args.opened  = false;
                 args.message = "发送异常, 请检查串口是否正常 : " + e.Message;
                 eventStateChanged?.Invoke(this, args);
             }
             Thread.Sleep(5);
         }
         Thread.Sleep(10);
     }
 }
Esempio n. 2
0
        //发送字节数据
        private void sendBytes(object obj)
        {
            BytesWithInfo bi = obj as BytesWithInfo;

            bi.bytes = obj as byte[];
            try {
                serial.Write(bi.bytes, 0, bi.bytes.Length);
                eventSended?.Invoke(this, new ByteEventArgs(DateTime.Now, bi));
            } catch (Exception e) {
                CommStateEventArgs args = new CommStateEventArgs();
                args.opened  = false;
                args.message = "发送异常, 请检查串口是否正常";
                eventStateChanged?.Invoke(this, args);
            }
        }
Esempio n. 3
0
 private void closeResult(bool result)
 {
     if (null != eventStateChanged)
     {
         CommStateEventArgs args = new CommStateEventArgs();
         args.opened = isOpen();
         if (!args.opened)
         {
             args.message         = "已关闭";
             serial.DataReceived += Serial_DataReceived;
         }
         else
         {
             args.message = "关闭失败";
         }
         eventStateChanged(this, args);
     }
 }
Esempio n. 4
0
 private void openResult(bool result)
 {
     if (null != eventStateChanged)
     {
         CommStateEventArgs args = new CommStateEventArgs();
         args.opened = result;
         if (args.opened)
         {
             args.message         = "打开成功";
             serial.DataReceived += Serial_DataReceived;
         }
         else
         {
             args.message = "打开失败";
         }
         eventStateChanged(this, args);
     }
 }