问题很简单,我正在编写一个能够通过.NET中的IO.Ports.SerialPort函数连接GPS设备的工具
一切正常,但要列出所有可用的COM接口,它们看起来像:
COM1
COM2%
COM3°
COM12$
无法连接到名为COM3°
的设备。如果我只是尝试手动连接到COM3
,那就完美了。
这是我现在正在使用的代码片段:
For i As Integer = 0 To My.Computer.Ports.SerialPortNames.Count - 1
cbbCOMPorts.Items.Add(System.IO.Ports.SerialPort.GetPortNames(i))
Next
感谢您的帮助;)
答案 0 :(得分:4)
我以前看过这个,已经有一段时间了。这是驱动程序中的一个错误,它将垃圾写入注册表。 Bobby给了你这个位置,看看Regedit.exe。我想是某种USB设备。扔掉它,找到另一个制造商的另一个。 Cr * ppy驱动程序不是你想要处理的东西。
答案 1 :(得分:2)
this Connect MSDN post的信息有帮助吗?
具体来说,我看到了:
感谢您报告此问题。这个的根本原因(RegistryKey.GetValue无法正确处理非空终止的字符串数据)将在下一版本的.NET Framework中得到修复。
此致 贾斯汀范帕滕
修改:如上面的评论中所述,此链接和问题可在existing Stackoverflow question中找到。
答案 2 :(得分:0)
这是使用SerialPorts时使用.Net 4.0的另一个原因。可能最大的问题是在端口打开时修复USB SerialPorts,这会导致许多问题(是的,我知道用户不应该......)。