C# 串行端口异常
我试图打开一个端口以便与条形码扫描仪通信,但我得到的只是一个 System.IO.IOException连接到系统的设备不工作 这是异常的,因为我使用COM端口监视器测试了设备。通过测试,我的意思是我用扫描器读取一些条形码,我观察输入。一切都很好。。。这是我的简单代码:C# 串行端口异常,c#,winforms,serial-port,barcode-scanner,C#,Winforms,Serial Port,Barcode Scanner,我试图打开一个端口以便与条形码扫描仪通信,但我得到的只是一个 System.IO.IOException连接到系统的设备不工作 这是异常的,因为我使用COM端口监视器测试了设备。通过测试,我的意思是我用扫描器读取一些条形码,我观察输入。一切都很好。。。这是我的简单代码: SerialPort _serialPort = new SerialPort("COM10"); _serialPort.BaudRate = 9600; _serial
SerialPort _serialPort = new SerialPort("COM10");
_serialPort.BaudRate = 9600;
_serialPort.Parity = Parity.None;
_serialPort.StopBits = StopBits.One;
_serialPort.DataBits = 8;
_serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
_serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
_serialPort.DtrEnable = true;
_serialPort.RtsEnable = true;
_serialPort.Handshake = Handshake.None;
_serialPort.Open();
MessageBox.Show("Port opened");
注意:我已经检查了论坛上几乎所有建议的解决方案,但没有任何解决我的问题。。。另外,我使用Process Manager检查并确保COM端口未被任何其他应用程序使用 尝试缩短代码以删除默认值,如下所示:
SerialPort _serialPort = new SerialPort("COM10");
_serialPort.BaudRate = 9600;
_serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
_serialPort.Open();
MessageBox.Show("Port opened");
当您使用端口监视器时,它是否使用相同的端口;波特;和流量控制?我注意到您使用的是
DTR
和RTS
,但是Handshake=Handshake.None
。这可能是个问题是的,我使用的设置与端口监视器完全相同。我还将RTS和DTR设置为false。。。没有任何更改…最好检查VisualStudio调试执行的位置和问题所在的详细信息,或使用工具(如)。尝试其他端口