查了之后发现这是一个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();}