2013-05-19 2 views
0

Итак, у меня есть соединение с ардуино с помощью Bluetooth-карты. Прямо сейчас у меня есть ком жесткий, закодированный в C#, и arduino не устанавливает или не выбирает COM. Мой вопрос: предположим, я распространил этот продукт. Откуда я знаю, что мой arduino всегда будет подключаться к этому COM? Есть ли способ сканирования всех COM-адресов для определенного элемента, а затем использовать это как параметр соединения? Вот пример кода, который я делаю, чтобы дать вам представление.Как узнать, какой COM использовать. C# & Bluetooth

 SerialPort BlueToothConnection = new SerialPort(); 

     BlueToothConnection.BaudRate = (9600); 

     BlueToothConnection.PortName = "COM3"; 

     BlueToothConnection.Open(); 

Этот код в настоящее время работает, но как вы можете видеть COM3 не закодирована ... Ничего хорошего для распределения

Кроме того, это основной пример, приведенный когда вы # и Bluetooth соединения Google C поэтому никакой помощи там ,

+0

Возможный дубликат [Как открыть последовательный порт по дружественному имени?] (http: //stackoverflow.com/questions/2937585/how-to-open-a-serial-port-by-friendly-name) –

+0

Это не ответ. –

ответ

1

Возможные варианты:

  • Обеспечить выбор времени выполнения COM порта (некоторые диалоговые параметры)
  • Введите фактический COM-порт в app.config (модель конфигурации использование .Net или пользовательские XML)
  • Попробуйте открыть все доступные COM-порты (SerialPort.GetPortNames()) и попытаться связаться с устройством

Вы не можете гарантировать, что ваше устройство будет подключено к этому COM порту потому что это зависит от конкретной установки ОС (есть ли вообще COM3) и пользовательских настроек (пользователь может выбрать один из нескольких COM-портов)

+0

Я, скорее всего, сделаю getnames один и проследую через них, пока не найду свое. Благодарю. –

Смежные вопросы