LINUX.ORG.RU

работа с COM-портом


0

0

Наздраве!

Проблема: открываю порт (через open()), настраиваю параметры через termios,
работаю, закрываю прогу (не выполняя ничего кроме close() на порт).
Больше порт не открывается !!!! где грабли ???????

Теперь понятна проблема но не знаю решения.

Если использовать termios для открытого дескриптора файла (порта),
то его надо ОБЯЗАТЕЛЬНО корректно закрыть, иначе порт остается занятым
до морковкина заговения, а программа частенько вылетает (стадия отладки)

Как лечить?

stormbringer
() автор топика

если порт используется только одним процессом то этого быть
не должно ...
проверь /etc/inittab

ovsov
()

Да проверял я! Ничто у меня с ним не работает, даже модема нет!
Кстати, есчо один вопрос имеется (по С++):

try{
... // здесь возникает исключение
}
catch(...)
{
// здесь ловим ВСЕ (по стандарту языка) исключения
}


так вот все исключения не ловятся!!!
прога вылетает с "Segmentation fault. Core dumped."

g++ 2.96 (из RedHat 7.0)


что не так, где грабли?!!

stormbringer
() автор топика

Дык в программу летит SIGSEGV и ядро ее валит в корку,
если нет обработчика этого сигнала.
А насчет исключений мне тоже не все понятно: не ловятся и в ситуации,
когда бросаешь из функции, вызываемой в блоке try {}. :-((

NewComer
()

Про порты ничего сказать не могу, не делал. Про исключения дело такое, перхват ВСЕХ исключений вблоком catch() { } Весма плохой тон. Все-таки лучше конкретно знать что ловишь. Кроме того, ошибка сегментации не всегда вызывается исключением. Посему внимание обращай на указатели и работу с ними.

anonymous
()

Не надо мне про тон, пожлста! Я тут библиотеку ОТЛАЖИВАЮ так, а не готовую прогу пишу! Ессно в готовом софте catch(...) не будет! А дело тут в принципе и соответствии g++ проекту стандарта ANSI/ISO C++!

stormbringer
() автор топика
1 марта 2002 г.

Hi All!!!

Не поскажетли всезнающий All, как решить следующую проблему: В компутере нужно организовать не менее 10 COM портов.

e-mail:rx3abi@mail.ru

anonymous
()

Где надыбать документацию по работе с COM портом????

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.