Example #1
0
 /// <summary>
 /// 开启/关闭串口
 /// </summary>
 /// <param name="开启状态"></param>
 /// <param name="串口号"></param>
 /// <param name="波特率"></param>
 /// <param name="数据位"></param>
 /// <param name="停止位"></param>
 /// <param name="校验位"></param>
 /// <param name=""></param>
 private bool Start(bool IsLinked, string PortName, string Rate)
 {
     if (IsLinked == false)//串口处于关闭状态
     {
         try
         {
             ObjPort.PortName = PortName;              //出口名
             ObjPort.BaudRate = Convert.ToInt32(Rate); //波特率
             ObjPort.Open();
             cmb_PortName.Enabled = false;
             cmb_BaudRate.Enabled = false;
             return(true);
         }
         catch (Exception ex)
         {
             MessageBox.Show("连接发生错误:" + ex.Message);
             return(false);
         }
     }
     else
     {
         ObjPort.Close();
         cmb_PortName.Enabled = true;
         cmb_BaudRate.Enabled = true;
         return(true);
     }
 }
Example #2
0
 /// <summary>
 /// 串口数据读取服务函数
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ObjPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
 {
     Control.CheckForIllegalCrossThreadCalls = false;
     Byte[] readBuffer = new Byte[ObjPort.BytesToRead]; //创建接收字节数组
     ObjPort.Read(readBuffer, 0, readBuffer.Length);    //读取接收的数据
     if (readBuffer.Length > 0)
     {
         ReceiveData = readBuffer;
         ObjPort.DiscardInBuffer();
     }
 }
Example #3
0
 //向串口发送读取温度的指令
 private void SendReadTemp()
 {
     Byte[] TxData = { 0x01, 0x03, 0x00, 0x28, 0x00, 0x08, 0xC4, 0x04 };
     ObjPort.Write(TxData, 0, 8);
 }