查了之后发现这是一个Bug。以下是解决方法,已经两天了暂时还没出现:
private void ClosePort()
{
comPort.ErrorReceived -= errorRecieveHandler;
comPort.DataReceived -= dataRecieveHandler;
Thread.Sleep(500);
comPort.Close();
}
private void OpenPort()
{
comPort.DtrEnable = false;
comPort.RtsEnable = false;
comPort.ErrorReceived += errorRecieveHandler;
comPort.DataReceived += dataRecieveHandler;
comPort.Open();
}