Перейти к содержанию

Определение Com Порта


Рекомендуемые сообщения

Добрый день! Я любитель, только только начал любить) Собрал простенькую схему с энкодером и отправляю на терминал(я так понимаю на COM порт) +/- в зависимости от направления вращения энкодера. Написал простенькую программу которая считывает эти +/-, в дальнейшем хочу привязать это дело к регулированию чего нибудь(громкость звука, размер кисти в PS и т.д.). Сейчас у меня COM порт задан жестко COM3, а хотелось бы что бы программа сама определяла на какой COM прицепилась моя штуковина(например если хочу подключить к другому компу). Как реализуются такие вещи, идея проверять все порты подряд на нахождение определенного символа кажется мне совсем костыльной.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Для Дельфи это выглядит примерно так:

procedure TForm1.FormActivate(Sender: TObject);
Var Reg: TRegistry;
   Val:TStringList;
   num_com: string;
begin
Reg := TRegistry.Create;
 try
   Val:=TStringList.Create;
  try
  Reg.RootKey := HKEY_LOCAL_MACHINE;
 if Reg.OpenKey('\HARDWARE\DEVICEMAP\SERIALCOMM', True) then
    begin
	  Reg.GetValueNames(Val);
	  num_com:=Reg.ReadString('\Device\USBSER000'); //имя искомого устройства (в данном случае UcGodzilla)
	  if (num_com='') then
	   begin
	    MessageDlg('Не найден порт!', mtInformation, [mbOK],0);
	   end
	 else
	   begin
	   //здесь можно обработать найденный номер порта.
	   end;
	  Reg.CloseKey;
    end;
   finally
   Val.Free;
   end;
 finally
 Reg.Free;
 inherited;
 end;
end;

Покопавшись в реестре программа найдет порт, на котором подключено искомое устройство или выдаст сообщение "порт не найден!".

В примере процедура поиска вызывается при активации формы, но с успехом может быть вызвана по другим событиям. Например, по клику мышкой по кнопке и др.

Ссылка на комментарий
Поделиться на другие сайты

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...