Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#串行端口问题_C#_Resources_Serial Port_Wmi_Gsm - Fatal编程技术网

C#串行端口问题

C#串行端口问题,c#,resources,serial-port,wmi,gsm,C#,Resources,Serial Port,Wmi,Gsm,我正在尝试创建一个类似超级终端的终端来与GSM调制解调器通话(在Sierra wireless sl8080上开放)。调制解调器可以随机复位,也可以通过发送到通信端口的命令复位。当调制解调器复位时,所有通信都会丢失。我正在使用 private void serialPort1_DataReceived(object sender,System.IO.Ports.SerialDataReceivedEventArgs e) { Console.WriteLine(serialPort1.R

我正在尝试创建一个类似超级终端的终端来与GSM调制解调器通话(在Sierra wireless sl8080上开放)。调制解调器可以随机复位,也可以通过发送到通信端口的命令复位。当调制解调器复位时,所有通信都会丢失。我正在使用

private void serialPort1_DataReceived(object sender,System.IO.Ports.SerialDataReceivedEventArgs e)
{
    Console.WriteLine(serialPort1.ReadExisting());
}
从设备中读取。但重置后,我可以做任何事情,但什么也得不到

如果我在重置后尝试阅读,我会得到:

A first chance exception of type 'System.InvalidOperationException' occurred in System.dll
An unhandled exception of type 'System.InvalidOperationException' occurred in System.dll
Additional information: The port is closed.
如果我重置,则关闭我得到的端口:

A first chance exception of type 'System.IO.IOException' occurred in System.dll
An unhandled exception of type 'System.IO.IOException' occurred in System.dll
Additional information: The requested resource is in use.
如果不完全关闭应用程序,我无法从这种状态恢复。一年多以来,我一直在努力解决这个问题。我想出了许多其他的解决办法。主要使用Python和Java/RXTX,完美地处理来自设备的重置。我真的被难住了,现在要想弄明白这更像是个人的挑战


我尝试使用WMI检测usb设备的拔出并关闭commport,但结果仍然相同。

您是否尝试过处理SerialPort对象而不是关闭它

如果SerialPort对象在读取操作期间被阻塞,请不要中止线程。相反,请关闭基本流或释放SerialPort对象


我有,也有同样的结果。始终必须关闭应用程序,有时还必须从设备上拔下USB,以防设备无法正常工作。对象是否已被处置?我还发现了这篇文章,你可能已经看过了。似乎是.net的一些错误。()