Название: Как узнать доступные com порты (win/linux)? Отправлено: yashaka от Март 23, 2010, 17:01 Интересует решение задачи ідентификации доступных в системе ком портов... Как это можно сделать?
В принципе можно вынести список потенциально доступных портов и пусть пользователь сам выбирает тот который у него на машине есть и будет использован. Но захотелось чисто с научным интересом вычислить это програмно...:) Название: Re: Как узнать доступные com порты (win/linux)? Отправлено: kuzulis от Март 23, 2010, 17:04 если имеется ввиду - не занятые , то
в винде - пробовать открывать в линухе - смотреть наличие LoCK файла и/или тоже открывать Название: Re: Как узнать доступные com порты (win/linux)? Отправлено: kostya2vntu от Март 25, 2010, 19:52 Посмотри в сторону QSerialDevice, а именно QSerialDeviceWatcher. (Насколько я понял 'потенциально' == 'присутствуют в системе')
http://fireforge.net/projects/qserialdevice/ (http://fireforge.net/projects/qserialdevice/) Название: Re: Как узнать доступные com порты (win/linux)? Отправлено: Sunder от Март 25, 2010, 22:33 Возможно.
В Windows - в ветви реестра перечислены все порты системы - этим пользуется например компонент QSerialDevice В Linux - можно маскировать в dev устройства по например ttyS, ttyUSB ttyACM но способ ненадёжный. Платы MOXA например имеют имена ttyMI0-ttyMIX, платы Advantech - другие, и вообще можно создать порт с любым именем с помощью setserial Мне кажется определять можно так, как определяет команда lshal - например наберите в консоли lshal |grep tty и все порты в системе будут отображены. Но как она это делает я пока не понял Название: Re: Как узнать доступные com порты (win/linux)? Отправлено: yashaka от Март 26, 2010, 09:14 Спасибо! Буду разбираться:) И з QSerialDevice и с lshal интересно стало:)
Название: Re: Как узнать доступные com порты (win/linux)? Отправлено: tim474 от Март 27, 2010, 15:21 А единого для всех платформ, на которых работает Qt, способа сделать сабж нет? Чтобы не подрывать кроссплатформенность программы, написанной с использованием Qt.
Название: Re: Как узнать доступные com порты (win/linux)? Отправлено: crossly от Март 27, 2010, 15:40 нет... да и никто не мешает сделать кроссплатформенное решение....
Название: Re: Как узнать доступные com порты (win/linux)? Отправлено: tim474 от Март 28, 2010, 05:23 Цитировать нет... да и никто не мешает сделать кроссплатформенное решение.... Сделать можно, но для этого надо писать её для каждой платформы отдельно. А если бы этот функционал был бы в Qt, то, если я пишу на qt программу, работающую с последовательными портами, то мне было бы не нужно заботиться о том, соберётся ли она на и будет ли работать на той или иной платформе, при условии что для этой платформы доступен Qt.Название: Re: Как узнать доступные com порты (win/linux)? Отправлено: kuzulis от Март 28, 2010, 16:30 Цитировать Сделать можно, но для этого надо писать её для каждой платформы отдельно. А если бы этот функционал был бы в Qt, то, если я пишу на qt программу, работающую с последовательными портами, то мне было бы не нужно заботиться о том, соберётся ли она на и будет ли работать на той или иной платформе, при условии что для этой платформы доступен Qt. Несовсем понятно что вы имеете ввиду!? Что значит если бы функционал был в Qt ? В исходниках Qt оно итак написано для разных платформ отдельно!!! Например смотрите QtNetwork, т.е. перечислены "все" платформы! В чем проблема то? Название: Re: Как узнать доступные com порты (win/linux)? Отправлено: yashaka от Март 28, 2010, 17:59 Мда, повеселили вы меня, ребята:)
Цитировать А если бы этот функционал был бы в Qt - это как раз и значит:Цитировать В исходниках Qt оно итак написано для разных платформ отдельно!!! Когда появился вопрос о том есть ли единое решение. Появился ответ что "единое" решение это только: "если бы этот функционал был бы в Qt", и даже там оно было: "надо писать её для каждой платформы отдельно", - что есть то же что и в последнем посте: "В исходниках Qt оно итак написано для разных платформ отдельно!!!" P.S. (Извиняюсь за Офтоп:)) За это и не люблю форумы:) - за то что вокруг простых вещей много шума поднимается изза того что каждый видит в написаным то что хочет увидеть, а не сперва думает что автор этим хотел сказать... С другой стороны как бы и писать лучше стараться так чтобы всем было понятно... что, кстати, и приводит к тому что становится скучно иногда... Но все это относительно... "Ребята, давайте жить дружно!" :))))))))))))))))) |