コード例 #1
0
 public bool CloseSerialPort()
 {
     try                                       //尝试关闭串口
     {
         CurrentSerialPort.DiscardOutBuffer(); //清发送缓存
         CurrentSerialPort.DiscardInBuffer();  //清接收缓存
         //WaitClose = true;//激活正在关闭状态字,用于在串口接收方法的invoke里判断是否正在关闭串口
         CurrentSerialPort.Close();            //关闭串口
                                               // WaitClose = false;//关闭正在关闭状态字,用于在串口接收方法的invoke里判断是否正在关闭串口
         SetAfterClose();                      //成功关闭串口或串口丢失后的设置
         bComPortIsOpen = false;
     }
     catch                                      //如果在未关闭串口前,串口就已丢失,这时关闭串口会出现异常
     {
         if (CurrentSerialPort.IsOpen == false) //判断当前串口状态,如果ComPort.IsOpen==false,说明串口已丢失
         {
             SetComLose();
         }
         else//未知原因,无法关闭串口
         {
             //throw new Exception("unable close serial port");
             OnSerialPortMiss(new SerialPortMissingEventArgs("unable close serial port"));
         }
     }
     return(true);
 }
コード例 #2
0
ファイル: SerialPortManager.cs プロジェクト: KKotw/paysystem
 public void CleanBuffer()
 {
     CurrentSerialPort.DiscardOutBuffer(); //清发送缓存
     CurrentSerialPort.DiscardInBuffer();  //清接收缓存
 }