我连接到蓝牙设备(ELM327 OBDII Dongle),我能够使用Tera Term成功与之通信,这似乎是打开一个串口来处理通信。现在我正在尝试编写自己的程序来与设备通信。我能够通过蓝牙连接到设备,但是我无法使用以下代码打开串口(COM3现在是硬编码的,但它是使用GetPortNames方法找到的端口之一):
private SerialPort serialPort;
string[] ports = SerialPort.GetPortNames();
foreach (string p in ports)
UIWriteLine(p);
serialPort = new SerialPort("COM3");
serialPort.Open();
当我调用Open方法时,我得到以下异常,这似乎与串口无关:
未处理的类型' System.IO.IOException'发生在System.dll
中其他信息:您未连接,因为网络上存在重复的名称。如果加入域,请转到“控制面板”中的“系统”以更改计算机名称,然后重试。如果加入工作组,请选择其他工作组名称。
此外,当我调用串口的构造函数并传入端口名称时,调试向我显示我的串口实例的许多成员都抛出异常:
BaseStream =' serialPort.BaseStream'抛出类型' System.InvalidOperationException'
的例外
BreakState =' serialPort.BreakState'抛出类型' System.InvalidOperationException'
的例外
BytesToRead =' serialPort.BytesToRead'抛出类型' System.InvalidOperationException'
的例外
等......他们都是InvalidOperationException
。
我在这里做错了什么?