C# 串口打开失败,SerialPort.Open 打开异常的解决方法
问题描述:串口程序运行到serialPort.Open 时,下位机(MCU)程序会卡死,关闭串口后程序重新跑起来。
解决方法,设置串口时,加入以下两行代码:
serial.DtrEnable = false;
//如果为 true,则启用数据终端就绪 (DTR);否则为 false。 默认为 false。
serial.RtsEnable = false;
//如果为 true,则启用请求发送 (RTS);否则为 false。 默认为 false。
文档说默认为false,但是去掉这两句就会出问题。个人猜测与所使用的下位机硬件有关。
在此仅提供一个解决问题的方向,顺便记录一下。