如何知道使用哪个COM。C#&;蓝牙

如何知道使用哪个COM。C#&;蓝牙,c#,bluetooth,serial-port,C#,Bluetooth,Serial Port,所以我用蓝牙卡连接到arduino。现在我把com硬编码到C#中,arduino没有设置或选择com。我的问题是,假设我分发了这个产品。我如何知道我的arduino将始终连接到该COM?是否有一种方法可以扫描特定项目的所有COM,然后将其用作连接参数?这里是一些示例代码,我正在做什么来给你一个想法 SerialPort BlueToothConnection = new SerialPort(); BlueToothConnection.BaudRate = (

所以我用蓝牙卡连接到arduino。现在我把com硬编码到C#中,arduino没有设置或选择com。我的问题是,假设我分发了这个产品。我如何知道我的arduino将始终连接到该COM?是否有一种方法可以扫描特定项目的所有COM,然后将其用作连接参数?这里是一些示例代码,我正在做什么来给你一个想法

        SerialPort BlueToothConnection = new SerialPort();

        BlueToothConnection.BaudRate = (9600);

        BlueToothConnection.PortName = "COM3";

        BlueToothConnection.Open();
此代码目前正在运行,但正如您所看到的,COM3是硬编码的。。。不适合分销

这也是谷歌C#和蓝牙连接时给出的基本示例,因此没有帮助

可能的选项有:

  • 提供COM端口的运行时选择(某些设置对话框)
  • 在app.config中输入实际COM端口(使用.Net配置模型或自定义XML)
  • 尝试打开所有可用的COM端口(
    SerialPort.GetPortNames()
    )并尝试与设备通信

您无法保证您的设备将连接到该COM端口,因为这取决于特定于操作系统的设置(是否有COM3?)和特定于用户的设置(用户可以选择打开多个COM端口)

这不是答案。我可能会执行getnames one,并对它们进行迭代,直到找到我的。谢谢