URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2299
[ Назад ]

Исходное сообщение
"Работа с СОМ портом в Linux Red Hat"

Отправлено Pavel , 18-Ноя-03 14:21 
Подскажите как организовать ввод/вывод через СОМ порт.
Что собой представляет аргумент device.c_str() в строке:
fd=open(device.c_str(),O_RDWR | O_NOCTTY | O_NDELAY); ?

Содержание

Сообщения в этом обсуждении
"Работа с СОМ портом в Linux Red Hat"
Отправлено NewComer , 19-Ноя-03 08:48 
>Подскажите как организовать ввод/вывод через СОМ порт.
>Что собой представляет аргумент device.c_str() в строке:
>fd=open(device.c_str(),O_RDWR | O_NOCTTY | O_NDELAY); ?

Не надо быть телепатом, чтобы понять, что device -  переменная типа std::string. Учите Standard Templates Library - она сильно упрощает жизнь!

device.c_str() - метод, который возвращает содержимое строки в виде обычного char*

Что касается существа вопроса, ко всем устройствам в любом UNIX доступ осуществляется через соответствующие файлы (файлы символьных и блочных устройств), расположенные в директории /dev. В частности, ком-порты именуются как /dev/ttyS0, /dev/ttyS1 и т.д. И весь ввод-вывод через ком-порт выполняется при помощи файловых API (read, write).

Натройка параметров порта - см. man termios.

Не сочтите это за высокомерие, но вам надо учить матчасть, и тогда такие вопросы отпадут сами собой.

И еще: см. SERIAL PROGRAMMING HOWTO, оно наверняка есть на вашем компьютере.