Отправляет email-рассылки с помощью сервиса Sendsay

Последовательный порт и RTS

Собрал преобразователь RS232-RS485, переключение прием/передача - RTS,
порт настроил так:

fcntl(port_fd, F_SETFL, 0);
struct termios options;
tcgetattr(port_fd, &options);
cfsetispeed(&options, B4800);
cfsetospeed(&options, B4800);
options.c_cflag |= (CLOCAL | CREAD);
options.c_cflag &= ~CSIZE;
options.c_cflag |= CS8;
options.c_cflag &= ~PARENB;
options.c_cflag &= ~CSTOPB;
options.c_cflag |= CRTSCTS;
options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
options.c_oflag &= ~OPOST;
options.c_cc[VMIN] = 0;
options.c_cc[VTIME] = 2;
tcsetattr(port_fd, TCSANOW, &options);

В разъеме соединил CTS и RTS. Раз в секунду вызываю запись в порт, передача
есть, но RTS постоянно "активный" (+12В), преобразователь на прием не
переключается. Если не соединять CTS и RTS передачи нет и вызов write
"застревает" (ждет CTS, аппаратное управление потоком вроде как включено).
Пробовал при открытии или через fcntl включать NDELAY, чтобы он не ждал
ответа, но ничего не меняется. Что можно сделать, чтобы он снимал RTS после
передачи?

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 10059; Возраст листа: 366; Участников: 1246
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/198339



-*Информационный канал Subscribe.Ru
Адрес подписки:
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписать: mailto:comp.soft.linux.discuss--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Mon, 26 Jul 2004 07:41:48 +0300 (#198339)