Доброго времени суток народ!
Писать под Linux начал недавно! Пишу на C++. Необходимо написать программу которая работает с последовательными портами!
Сразу встала задача из всех устройств в папке dev отсеять имеющиеся в системе порты втом числе и USB и виртуальные! или можно ли как нибудь получить список портов не перебирая устройства!
Заранее спасибо!
Получение списка доступных com портов
GLONIUM, попробуйте из dmesg выловить нужные сообщения ядра о найденных устройствах.
Сразу предупреждаю, что в работоспособности этого решения не уверен, т.к. у меня нету ни одного com-порта на моих железяках.
Спасибо попытаемся!
А нет ли более универсального способа?
вам список нужен?
[console]# ll /dev/ttyS*
crw-rw---- 1 root dialout 4, 64 2011-03-24 14:03 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 2011-03-24 14:03 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 2011-03-24 14:03 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 2011-03-24 14:03 /dev/ttyS3
[/console]
попробуйте туда что-то писать/читать
(man fopen, man fread)
если порты подключены к чему-то, то их можно читать/писать.
обратите внимание: вы должны иметь соответствующие права, ибо для кого угодно запрещено и чтение и запись.
hint: что-бы не работать под рутом, добавьте себя в соответствующую группу.
спасибо это тоже конечно вариант но в разных дистрибутивах имена устройств могут отличаться да и например usb порты имеют другие икена как с этим бороться?
спасибо это тоже конечно вариант но в разных дистрибутивах имена устройств могут отличаться да и например usb порты имеют другие икена как с этим бороться
спросить у пользователя, как делает звонилка kppp.
других вариантов не знаю :(
а что за звонилка? :o
вам список нужен?
[console]# ll /dev/ttyS*
crw-rw---- 1 root dialout 4, 64 2011-03-24 14:03 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 2011-03-24 14:03 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 2011-03-24 14:03 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 2011-03-24 14:03 /dev/ttyS3
[/console]
У меня это тоже есть, но разъёмов два, а вот почему
в /proc/ioports только COM1, с адресами 3f8-3ff,
а COM2 с адресами 2f8-2ff нет?
Сейчас к ним ничего не подключено.
Пётр.
а что за звонилка? :o
kde-base/kppp
Latest version available: 4.6.1
Latest version installed: [ Not Installed ]
Size of files: 8,481 kB
Homepage: http://www.kde.org/
Description: KDE: A dialer and front-end to pppd.
License: GPL-2
Вот там и посмотри как это делается. smile А может быть нужно даже [url=ftp://ftp.samba.org/pub/ppp/]здесь[/url] посмотреть.